From 536f5ba0d48c033e63398d1751aebd0a11bcc6ff Mon Sep 17 00:00:00 2001 From: nagachika Date: Thu, 23 Feb 2023 14:36:37 +0900 Subject: merge revision(s) 3ddf6ad4d2f6dae4caa00b8c407768c7062099a0: [Backport #18629] Private local variables should shadow outer variables [Bug #18629] --- parse.y | 3 ++- test/ruby/test_parse.rb | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) --- test/ruby/test_parse.rb | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'test/ruby') diff --git a/test/ruby/test_parse.rb b/test/ruby/test_parse.rb index d697a29c1c..2841e20f6d 100644 --- a/test/ruby/test_parse.rb +++ b/test/ruby/test_parse.rb @@ -930,6 +930,10 @@ x = __ENCODING__ assert_no_warning(/shadowing outer local variable/) {eval("a=1; tap {|a|}")} end + def test_shadowing_private_local_variable + assert_equal 1, eval("_ = 1; [[2]].each{ |(_)| }; _") + end + def test_unused_variable o = Object.new assert_warning(/assigned but unused variable/) {o.instance_eval("def foo; a=1; nil; end")} -- cgit v1.2.3