summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2019-09-25 13:01:03 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-09-25 13:01:03 +0900
commit55e1e22b2d44a8a1eca0f6ed2b11dc0f564f7192 (patch)
treefe3b2dc4f3e1a749e57b2cd8f46f4227e0a425b5 /test
parente663299a5f7a980aae39f3e87cec064ae19a870c (diff)
Changed numbered parameters semantics
* `_1` (and no other numbered parameters) to work as `|x|`. * giving up `_0`. [ruby-core:95074] [Bug #16178]
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_syntax.rb12
1 files changed, 1 insertions, 11 deletions
diff --git a/test/ruby/test_syntax.rb b/test/ruby/test_syntax.rb
index 61bee816b6..a64d25845a 100644
--- a/test/ruby/test_syntax.rb
+++ b/test/ruby/test_syntax.rb
@@ -1442,33 +1442,23 @@ eom
assert_valid_syntax('proc {_1}')
assert_equal(3, eval('[1,2].then {_1+_2}'))
assert_equal("12", eval('[1,2].then {"#{_1}#{_2}"}'))
- assert_equal([1, 2], eval('[1,2].then {_0}'))
+ assert_equal([1, 2], eval('[1,2].then {_1}'))
assert_equal(3, eval('->{_1+_2}.call(1,2)'))
assert_equal(4, eval('->(a=->{_1}){a}.call.call(4)'))
assert_equal(5, eval('-> a: ->{_1} {a}.call.call(5)'))
- assert_syntax_error('proc {|| _0}', /ordinary parameter is defined/)
assert_syntax_error('proc {|| _1}', /ordinary parameter is defined/)
assert_syntax_error('proc {|;a| _1}', /ordinary parameter is defined/)
assert_syntax_error("proc {|\n| _1}", /ordinary parameter is defined/)
assert_syntax_error('proc {|x| _1}', /ordinary parameter is defined/)
- assert_syntax_error('proc {_0+_1}', /implicit parameter is used/)
- assert_syntax_error('proc {_1+_0}', /numbered parameter is used/)
assert_syntax_error('proc {_1; proc {_2}}', /numbered parameter is already used/)
assert_syntax_error('proc {proc {_1}; _2}', /numbered parameter is already used/)
- assert_syntax_error('proc {_0; proc {_1}}', /implicit parameter is already used/)
- assert_syntax_error('proc {proc {_0}; _1}', /implicit parameter is already used/)
- assert_syntax_error('->(){_0}', /ordinary parameter is defined/)
assert_syntax_error('->(){_1}', /ordinary parameter is defined/)
assert_syntax_error('->(x){_1}', /ordinary parameter is defined/)
assert_syntax_error('->x{_1}', /ordinary parameter is defined/)
assert_syntax_error('->x:_2{}', /ordinary parameter is defined/)
assert_syntax_error('->x=_1{}', /ordinary parameter is defined/)
- assert_syntax_error('-> {_0+_1}', /implicit parameter is used/)
- assert_syntax_error('-> {_1+_0}', /numbered parameter is used/)
assert_syntax_error('-> {_1; -> {_2}}', /numbered parameter is already used/)
assert_syntax_error('-> {-> {_1}; _2}', /numbered parameter is already used/)
- assert_syntax_error('-> {_0; -> {_1}}', /implicit parameter is already used/)
- assert_syntax_error('-> {-> {_0}; _1}', /implicit parameter is already used/)
assert_warn(/`_1' is used as numbered parameter/) {eval('proc {_1 = nil}')}
assert_warn(/`_2' is used as numbered parameter/) {eval('_2=1')}
end