summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornagachika <nagachika@ruby-lang.org>2023-03-21 15:34:59 +0900
committernagachika <nagachika@ruby-lang.org>2023-03-21 15:34:59 +0900
commit5428bdc1daed12d1e142a854fc037a1a4eb647c9 (patch)
tree561e76936fd9b8d25c7b5dbdecaa1818a9bd972b
parentcaedcf3ee8e445f90df88ccf2f745c9d9f7ccc35 (diff)
downloadruby-5428bdc1daed12d1e142a854fc037a1a4eb647c9.tar.gz
merge revision(s) dd28c55a7cd6780dad637b4d6a20507fbfc6af4a: [Backport #19445]
[Bug#19445] Fix keyword splat in enumerator Extracted arguments do not have keyword hash to splat. --- numeric.c | 2 +- test/ruby/test_numeric.rb | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-)
-rw-r--r--numeric.c2
-rw-r--r--test/ruby/test_numeric.rb3
-rw-r--r--version.h2
3 files changed, 5 insertions, 2 deletions
diff --git a/numeric.c b/numeric.c
index 3e66ba7d7b..a4f75edf88 100644
--- a/numeric.c
+++ b/numeric.c
@@ -3058,7 +3058,7 @@ num_step(int argc, VALUE *argv, VALUE from)
num_step_size, from, to, step, FALSE);
}
- return SIZED_ENUMERATOR(from, 2, ((VALUE [2]){to, step}), num_step_size);
+ return SIZED_ENUMERATOR_KW(from, 2, ((VALUE [2]){to, step}), num_step_size, FALSE);
}
desc = num_step_scan_args(argc, argv, &to, &step, TRUE, FALSE);
diff --git a/test/ruby/test_numeric.rb b/test/ruby/test_numeric.rb
index 0593cb535d..ab492743f6 100644
--- a/test/ruby/test_numeric.rb
+++ b/test/ruby/test_numeric.rb
@@ -324,6 +324,9 @@ class TestNumeric < Test::Unit::TestCase
e = 1.step(10, {by: "1"})
assert_raise(TypeError) {e.next}
assert_raise(TypeError) {e.size}
+ e = 1.step(to: "10")
+ assert_raise(ArgumentError) {e.next}
+ assert_raise(ArgumentError) {e.size}
assert_equal(bignum*2+1, (-bignum).step(bignum, 1).size)
assert_equal(bignum*2, (-bignum).step(bignum-1, 1).size)
diff --git a/version.h b/version.h
index f92cbe5da2..f657512899 100644
--- a/version.h
+++ b/version.h
@@ -11,7 +11,7 @@
# define RUBY_VERSION_MINOR RUBY_API_VERSION_MINOR
#define RUBY_VERSION_TEENY 4
#define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR
-#define RUBY_PATCHLEVEL 206
+#define RUBY_PATCHLEVEL 207
#define RUBY_RELEASE_YEAR 2023
#define RUBY_RELEASE_MONTH 3