From 7a2d5e5bb55f437ff52244842944cd4a352111ff Mon Sep 17 00:00:00 2001 From: Jeremy Daer Date: Wed, 5 Aug 2026 10:01:50 -0700 Subject: [PATCH] dev: declare benchmark dependency so rubocop's cli runs on ruby 4.0 benchmark is no longer a default gem in ruby 4.0, and rubocop 1.59.0's executable requires it. `bundle exec rubocop` therefore dies with a LoadError under ruby 4.0. `rake rubocop` is unaffected -- RuboCop::RakeTask loads rubocop in-process and never touches exe/rubocop -- so CI stays green while local linting is broken. rubocop dropped the require in 1.66.0, but bumping there means bumping standard in lockstep (it pins rubocop ~> 1.59.0) and absorbing new cops. Declaring the dependency fixes the break without changing the cop set. --- Gemfile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Gemfile b/Gemfile index e0ea9427..31138089 100644 --- a/Gemfile +++ b/Gemfile @@ -17,4 +17,9 @@ group :development do gem "rubocop", "1.59.0", require: false gem "rubocop-minitest", "0.34.5", require: false gem "standard", "1.33.0", require: false + + # rubocop's executable requires "benchmark", which stopped being a default gem + # in ruby 4.0. rubocop dropped that require in 1.66.0, so this can go away + # whenever we bump past it. + gem "benchmark", "0.5.0", require: false end