From 239430aad5d5ca9dfeb1f28b765ab78283db206f Mon Sep 17 00:00:00 2001 From: shove Date: Sun, 12 Nov 2023 07:59:54 +0800 Subject: [PATCH] parser: fix invalid warning 'unused' for mut var in if/match cond(fix #19539) (#19843) --- vlib/v/parser/expr.v | 3 +++ 1 file changed, 3 insertions(+) diff --git a/vlib/v/parser/expr.v b/vlib/v/parser/expr.v index ba69499a54..7d772b9d79 100644 --- a/vlib/v/parser/expr.v +++ b/vlib/v/parser/expr.v @@ -37,6 +37,9 @@ fn (mut p Parser) check_expr(precedence int) !ast.Expr { .key_mut, .key_shared, .key_atomic, .key_static, .key_volatile { ident := p.ident(ast.Language.v) node = ident + if p.peek_tok.kind != .assign && (p.inside_if_cond || p.inside_match) { + p.mark_var_as_used(ident.name) + } p.add_defer_var(ident) p.is_stmt_ident = is_stmt_ident }