File tree Expand file tree Collapse file tree 2 files changed +11
-7
lines changed
Expand file tree Collapse file tree 2 files changed +11
-7
lines changed Original file line number Diff line number Diff line change @@ -13900,7 +13900,7 @@ value_expr_check(struct parser_params *p, NODE *node)
1390013900 case NODE_BLOCK:
1390113901 while (RNODE_BLOCK(node)->nd_next) {
1390213902 vn = value_expr_check(p, RNODE_BLOCK(node)->nd_head);
13903- if (vn) return vn;
13903+ if (vn && !void_node) void_node = vn;
1390413904 node = RNODE_BLOCK(node)->nd_next;
1390513905 }
1390613906 node = RNODE_BLOCK(node)->nd_head;
@@ -13929,12 +13929,6 @@ value_expr_check(struct parser_params *p, NODE *node)
1392913929 node = RNODE_AND(node)->nd_1st;
1393013930 break;
1393113931
13932- case NODE_LASGN:
13933- case NODE_DASGN:
13934- case NODE_MASGN:
13935- mark_lvar_used(p, node);
13936- return NULL;
13937-
1393813932 default:
1393913933 return NULL;
1394013934 }
Original file line number Diff line number Diff line change @@ -1148,6 +1148,16 @@ def test_unused_variable
11481148 assert_warning ( /assigned but unused variable/ ) { o . instance_eval ( "def bar2; a, = 1, 2; end" ) }
11491149 assert_warning ( '' ) { o . instance_eval ( "def marg1(a); nil; end" ) }
11501150 assert_warning ( '' ) { o . instance_eval ( "def marg2((a)); nil; end" ) }
1151+
1152+ assert_warning ( /assigned but unused variable/ ) { o . instance_eval ( "#{ <<~"{#" } \n #{ <<~'};' } " ) }
1153+ {#
1154+ def zot
1155+ block ||= begin
1156+ foo = nil
1157+ itself
1158+ end
1159+ end
1160+ };
11511161 end
11521162
11531163 def test_parsing_begin_statement_inside_method_definition
You can’t perform that action at this time.
0 commit comments