aboutsummaryrefslogtreecommitdiffstats
path: root/NEWS.md
diff options
context:
space:
mode:
authorJeremy Evans <code@jeremyevans.net>2020-03-09 08:11:13 -0700
committerJeremy Evans <code@jeremyevans.net>2020-03-09 08:11:13 -0700
commit9034cbd331624089524a239a050c906bdd798482 (patch)
treeadf312973f0491fa19fb41b13b698a1dbfabdc62 /NEWS.md
parente02bd0e713ef920e6d12c27f16548f48ec5c2cf0 (diff)
downloadruby-9034cbd331624089524a239a050c906bdd798482.tar.gz
Update NEWS for autosplatting change [ci skip]
Diffstat (limited to 'NEWS.md')
-rw-r--r--NEWS.md15
1 files changed, 15 insertions, 0 deletions
diff --git a/NEWS.md b/NEWS.md
index 611fb6aa3c..f73b3fbce2 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -14,6 +14,21 @@ sufficient information, see the ChangeLog file or Redmine
Code that resulted in deprecation warnings in Ruby 2.7 will now
result in ArgumentError or different behavior. [[Feature #14183]]
+* Procs accepting a single rest argument and keywords are no longer
+ subject to autosplatting. This now matches the behavior of Procs
+ accepting a single rest argument and no keywords.
+ [[Feature #16166]]
+
+ pr = proc{|*a, **kw| [a, kw]}
+
+ pr.call([1])
+ # 2.7 => [[1], {}]
+ # 3.0 => [[[1]], {}]
+
+ pr.call([1, {a: 1}])
+ # 2.7 => [[1], {:a=>1}] # and deprecation warning
+ # 3.0 => [[[1, {:a=>1}]], {}]
+
* $SAFE is now a normal global variable with no special behavior.
[[Feature #16131]]