From 540f724b1f57d0d5a40b65a59f6ee82e070c6ee5 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Mon, 22 May 2023 12:42:02 +0100 Subject: [PATCH] Fix `---` on variable declarations --- src/check_expr.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/check_expr.cpp b/src/check_expr.cpp index e0e74a3aa..20a690e1e 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -5196,10 +5196,13 @@ gb_internal bool check_unpack_arguments(CheckerContext *ctx, Entity **lhs, isize } } - if (allow_undef && rhs[i] != nullptr && rhs[i]->kind == Ast_Undef) { + Ast *rhs_expr = unparen_expr(rhs[i]); + if (allow_undef && rhs_expr != nullptr && rhs_expr->kind == Ast_Undef) { + // NOTE(bill): Just handle this very specific logic here o.type = t_untyped_undef; o.mode = Addressing_Value; o.expr = rhs[i]; + add_type_and_value(c, rhs[i], o.mode, o.type, o.value); } else { check_expr_base(c, &o, rhs[i], type_hint); }