{"record":{"id":"80406380260ab2d0","repo":"ruby/rubygems","slug":"must-be-a-gem-availableset","errorCode":null,"errorMessage":"must be a Gem::AvailableSet","messagePattern":"must be a Gem::AvailableSet","errorType":"validation","errorClass":"TypeError","httpStatus":null,"severity":"error","filePath":"lib/rubygems/available_set.rb","lineNumber":37,"sourceCode":"    @set << Tuple.new(spec, source)\n    @sorted = nil\n    self\n  end\n\n  def <<(o)\n    case o\n    when Gem::AvailableSet\n      s = o.set\n    when Array\n      s = o.map do |sp,so|\n        if !sp.is_a?(Gem::Specification) || !so.is_a?(Gem::Source)\n          raise TypeError, \"Array must be in [[spec, source], ...] form\"\n        end\n\n        Tuple.new(sp,so)\n      end\n    else\n      raise TypeError, \"must be a Gem::AvailableSet\"\n    end\n\n    @set += s\n    @sorted = nil\n\n    self\n  end\n\n  ##\n  # Yields each Tuple in this AvailableSet\n\n  def each\n    return enum_for __method__ unless block_given?\n\n    @set.each do |tuple|\n      yield tuple\n    end\n  end","sourceCodeStart":19,"sourceCodeEnd":55,"githubUrl":"https://github.com/ruby/rubygems/blob/86cbb817a38ce8477b181c17467a703ded3f2be8/lib/rubygems/available_set.rb#L19-L55","documentation":"Error \"must be a Gem::AvailableSet\" thrown in ruby/rubygems.","triggerScenarios":"Thrown at lib/rubygems/available_set.rb:37 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"86cbb817a38ce8477b181c17467a703ded3f2be8","analyzedAt":"2026-08-23T06:27:48.159Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}