From d72f4a8a79bbb229e0fcbb2c6cc439ba979a9453 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Sun, 22 Aug 2021 00:59:42 +0100 Subject: [PATCH] Correct Multi Pointer Type handling in expressions --- src/check_expr.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/check_expr.cpp b/src/check_expr.cpp index ea553f6bb..176685804 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -8486,6 +8486,7 @@ ExprKind check_expr_base_internal(CheckerContext *c, Operand *o, Ast *node, Type case Ast_PolyType: case Ast_ProcType: case Ast_PointerType: + case Ast_MultiPointerType: case Ast_ArrayType: case Ast_DynamicArrayType: case Ast_StructType: @@ -8931,6 +8932,11 @@ gbString write_expr_to_string(gbString str, Ast *node, bool shorthand) { str = write_expr_to_string(str, pt->type, shorthand); case_end; + case_ast_node(pt, MultiPointerType, node); + str = gb_string_appendc(str, "[^]"); + str = write_expr_to_string(str, pt->type, shorthand); + case_end; + case_ast_node(at, ArrayType, node); str = gb_string_append_rune(str, '['); if (at->count != nullptr &&