diff options
author | nagachika <nagachika@ruby-lang.org> | 2023-03-21 15:34:59 +0900 |
---|---|---|
committer | nagachika <nagachika@ruby-lang.org> | 2023-03-21 15:34:59 +0900 |
commit | 5428bdc1daed12d1e142a854fc037a1a4eb647c9 (patch) | |
tree | 561e76936fd9b8d25c7b5dbdecaa1818a9bd972b | |
parent | caedcf3ee8e445f90df88ccf2f745c9d9f7ccc35 (diff) | |
download | ruby-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.c | 2 | ||||
-rw-r--r-- | test/ruby/test_numeric.rb | 3 | ||||
-rw-r--r-- | version.h | 2 |
3 files changed, 5 insertions, 2 deletions
@@ -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) @@ -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 |