Skip to content

Commit d942f69

Browse files
mateusz834mlugg
authored andcommitted
std.zig.AstGen: properly handle grouped_expression
This fixes an endless loop in the compiler.
1 parent ce355e0 commit d942f69

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

lib/std/zig/AstGen.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2607,7 +2607,7 @@ fn blockExprStmts(gz: *GenZir, parent_scope: *Scope, statements: []const Ast.Nod
26072607
.assign_mul_wrap => try assignOp(gz, scope, statement, .mulwrap),
26082608

26092609
.grouped_expression => {
2610-
inner_node = tree.nodeData(statement).node_and_token[0];
2610+
inner_node = tree.nodeData(inner_node).node_and_token[0];
26112611
continue;
26122612
},
26132613

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
pub export fn entry() void {
2+
((1 + 1)); // makes sure that the doubled grouped_expression does not cause an endless loop in AstGen.
3+
}
4+
5+
// error
6+
//
7+
// :2:9: error: value of type 'comptime_int' ignored
8+
// :2:9: note: all non-void values must be used
9+
// :2:9: note: to discard the value, assign it to '_'

0 commit comments

Comments
 (0)