From 0bdc3b4f21eca0ff15d5053348711f4b60b7baab Mon Sep 17 00:00:00 2001 From: gingerBill Date: Tue, 15 Oct 2019 17:54:37 +0100 Subject: [PATCH] Fix Values coerce to typeid #443 --- src/check_expr.cpp | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/src/check_expr.cpp b/src/check_expr.cpp index 7c418c4f0..f8bb88595 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -676,17 +676,6 @@ void check_assignment(CheckerContext *c, Operand *operand, Type *type, String co return; } - #if 0 - if (operand->mode == Addressing_Type) { - Type *t = base_type(type); - if (t->kind == Type_Pointer && - t->Pointer.elem == t_type_info) { - add_type_info_type(c, type); - return; - } - } - #endif - if (is_type_untyped(operand->type)) { Type *target_type = type; if (type == nullptr || is_type_any(type)) { @@ -1590,10 +1579,7 @@ void check_cast_error_suggestion(CheckerContext *c, Operand *o, Type *type) { void check_is_expressible(CheckerContext *c, Operand *o, Type *type) { GB_ASSERT(o->mode == Addressing_Constant); - if (!is_type_constant_type(type)) { - return; - } - if (!check_representable_as_constant(c, o->value, type, &o->value)) { + if (!is_type_constant_type(type) || !check_representable_as_constant(c, o->value, type, &o->value)) { gbString a = expr_to_string(o->expr); gbString b = type_to_string(type); defer(