{"record":{"id":"907eef974484264f","repo":"ruby/rubygems","slug":"extensions-can-now-be-generated-using-c-or-rust-s","errorCode":null,"errorMessage":"Extensions can now be generated using C or Rust, so `--ext` with no arguments has been removed. Please select a language, e.g. `--ext=rust` to generate a Rust extension.","messagePattern":"Extensions can now be generated using C or Rust, so `--ext` with no arguments has been removed\\. Please select a language, e\\.g\\. `--ext=rust` to generate a Rust extension\\.","errorType":"validation","errorClass":"InvalidOption","httpStatus":null,"severity":"error","filePath":"lib/bundler/cli.rb","lineNumber":719,"sourceCode":"        if exec_used + help_used == 1\n          %w[help exec]\n        else\n          args\n        end\n      elsif help_used\n        args = args.dup\n        args.delete_at(help_used)\n        [\"help\", command || args].flatten.compact\n      else\n        args\n      end\n    end\n\n    def self.check_invalid_ext_option(arguments)\n      # when invalid version of `--ext` is called\n      if invalid_ext_value?(arguments)\n        removed_message = \"Extensions can now be generated using C or Rust, so `--ext` with no arguments has been removed. Please select a language, e.g. `--ext=rust` to generate a Rust extension.\"\n        raise InvalidOption, removed_message\n      end\n    end\n\n    def self.invalid_ext_value?(arguments)\n      index = arguments.index(\"--ext\")\n      next_argument = arguments[index + 1]\n\n      # it is ok when --ext is followed with valid extension value\n      # for example `bundle gem hello --ext c`\n      return false if EXTENSIONS.include?(next_argument)\n\n      # invalid call when --ext is called with no value in last position\n      # for example `bundle gem hello_gem --ext`\n      return true if next_argument.nil?\n\n      # invalid call when --ext is followed by other parameter\n      # for example `bundle gem --ext --no-ci hello_gem`\n      return true if next_argument.start_with?(\"-\")","sourceCodeStart":701,"sourceCodeEnd":737,"githubUrl":"https://github.com/ruby/rubygems/blob/86cbb817a38ce8477b181c17467a703ded3f2be8/lib/bundler/cli.rb#L701-L737","documentation":"Error \"Extensions can now be generated using C or Rust, so `--ext` with no arguments has been removed. Please select a language, e.g. `--ext=rust` to generate a Rust extension.\" thrown in ruby/rubygems.","triggerScenarios":"Thrown at lib/bundler/cli.rb:719 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"}