From: merch-redmine@... Date: 2020-05-13T18:36:13+00:00 Subject: [ruby-core:98328] [Ruby master Bug#16856] Structs accepting keyword arguments issue a warning with Ruby 2.7 Issue #16856 has been updated by jeremyevans0 (Jeremy Evans). Status changed from Open to Closed I believe this was fixed in #16801, which is already marked as required for backport to 2.7. With the master branch, there is no warning for the code. ---------------------------------------- Bug #16856: Structs accepting keyword arguments issue a warning with Ruby 2.7 https://bugs.ruby-lang.org/issues/16856#change-85564 * Author: iGEL (Johannes Barre) * Status: Closed * Priority: Normal * ruby -v: ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux] * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN ---------------------------------------- This code is issuing a warning with Ruby 2.7, but should not: ``` ruby class NotFine < Struct.new(:x) def initialize(x, arg:) end end class Fine def initialize(x, arg:) end end NotFine.new(1, arg: 1) # This is causing the warning Fine.new(1, arg: 1) # This is not ``` ``` $ ruby test.rb test.rb:11: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call test.rb:2: warning: The called method `initialize' is defined here ``` -- https://bugs.ruby-lang.org/ Unsubscribe: