From: shevegen@... Date: 2020-02-21T16:54:09+00:00 Subject: [ruby-core:97235] [Ruby master Misc#16645] Non-warned change of behavior in 2.7 for non-symbol keys Issue #16645 has been updated by shevegen (Robert A. Heiler). I can not answer your question but I believe matz mentioned the change several times in different talks before. So a deprecation phase makes no real sense, unless matz and the core team wants to postpone the change past ruby 3.0 - but I think it was decided that keyword arguments will be just about the only backwards incompatible change before. If you look at the issue tracker, you will always have people who want more deprecations and more changes, and people who want less - e. g. the discussion about frozen strings by default, where headius (and probably others) would like a change in ruby 3.0 already. ;) (It's a decision either way and I think for keywords the decision has already been made months before to change this in 3.0, so a deprecation phase would make no real sense to me, IMO, in this regard.) ---------------------------------------- Misc #16645: Non-warned change of behavior in 2.7 for non-symbol keys https://bugs.ruby-lang.org/issues/16645#change-84342 * Author: Dan0042 (Daniel DeLorme) * Status: Open * Priority: Normal ---------------------------------------- In ruby 2.7 non-symbol keys are now accepted as keywords, resulting in the following change in behavior: ```ruby def foo(*a,**h) p [a,h] end foo("a"=>42) # [[{"a"=>42}], {}] in 2.6 # [[], {"a"=>42}] in 2.7 ``` Given that the general plan for 2.7 was to be backward compatible while warning about upcoming changes, I just wanted to confirm if it was ok to change this _without a deprecation phase_? I couldn't find any reference or discussion about this in the dev meeting logs. -- https://bugs.ruby-lang.org/ Unsubscribe: