From a25a20160258b9936ff402e5da404420004fecff Mon Sep 17 00:00:00 2001 From: CMDRZero Date: Fri, 31 Jul 2026 12:21:38 -0500 Subject: [PATCH] Fix `Parse.zig` bug pointing to wrong ambiguous operator --- lib/std/zig/Parse.zig | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lib/std/zig/Parse.zig b/lib/std/zig/Parse.zig index 95f3c1603ddad89c898f9f90c9c819959812bac8..7467da142de32dff48d76bffa8af52074134f8fc 100644 --- a/lib/std/zig/Parse.zig +++ b/lib/std/zig/Parse.zig @@ -1772,11 +1772,9 @@ const operTable = std.enums.directEnumArrayDefault(Token.Tag, OperInfo, .{ .prec // zig fmt: on }); -fn parseExprPrecedence(p: *Parse, min_exc_prec: PrecClass, prev_token_const: u32) Error!?Node.Index { +fn parseExprPrecedence(p: *Parse, min_exc_prec: PrecClass, prev_operator_token: u32) Error!?Node.Index { var node = try p.parsePrefixExpr() orelse return null; - var prev_operator_token = prev_token_const; - while (true) { const tok_tag = p.tokenTag(p.tok_i); const info = operTable[@backingInt(tok_tag)]; @@ -1884,8 +1882,7 @@ fn parseExprPrecedence(p: *Parse, min_exc_prec: PrecClass, prev_token_const: u32 } } - prev_operator_token = oper_token; - const rhs = try p.parseExprPrecedence(info.prec, prev_operator_token) orelse { + const rhs = try p.parseExprPrecedence(info.prec, oper_token) orelse { try p.warn(.expected_expr); return node; }; -- 2.54.0