From 7075f834dda669faa10abfcb6aacbd8d06849c55 Mon Sep 17 00:00:00 2001 From: Christoffer Lerno Date: Wed, 15 Mar 2023 16:28:48 +0100 Subject: [PATCH] Remove null-casts for anyerr. --- src/compiler/sema_casts.c | 7 ------- test/unit/regression/faults.c3 | 4 ++-- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/src/compiler/sema_casts.c b/src/compiler/sema_casts.c index fb3b5fc86..f15a0b641 100644 --- a/src/compiler/sema_casts.c +++ b/src/compiler/sema_casts.c @@ -1004,13 +1004,6 @@ static bool cast_from_pointer(SemaContext *context, Expr *expr, Type *from, Type return cast_with_optional(expr, to_type, add_optional); } return sema_error_cannot_convert(expr, to_type, true, silent); - case TYPE_FAULTTYPE: - case TYPE_ANYERR: - if (expr_is_const_pointer(expr) && !expr->const_expr.ptr) - { - expr_rewrite_to_const_zero(expr, to_type); - return true; - } case TYPE_OPTIONAL_ANY: case TYPE_OPTIONAL: UNREACHABLE diff --git a/test/unit/regression/faults.c3 b/test/unit/regression/faults.c3 index 1cc3bfc8b..29f93e780 100644 --- a/test/unit/regression/faults.c3 +++ b/test/unit/regression/faults.c3 @@ -8,11 +8,11 @@ fault Foo fn void ordinals() { - Foo z = null; + Foo z = {}; assert(z.ordinal == 0); $assert(Foo.ABC.ordinal == 1); $assert(Foo.CDE.ordinal == 2); - $assert(((Foo)null).ordinal == 0); + $assert((Foo{}).ordinal == 0); Foo x = Foo.CDE; assert(x.ordinal == 2); x = Foo.ABC;