From 0bedd3357ae709c1d35e86ce6e883964fea13fdd Mon Sep 17 00:00:00 2001 From: gingerBill Date: Sun, 4 Aug 2024 14:58:12 +0100 Subject: [PATCH] Disallow `err != 0` with `os.Error` when `-strict-style` is enabled --- src/check_expr.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/check_expr.cpp b/src/check_expr.cpp index 06784a7f3..b291cbe70 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -4461,7 +4461,8 @@ gb_internal void convert_to_typed(CheckerContext *c, Operand *operand, Type *tar case Type_Union: // IMPORTANT NOTE HACK(bill): This is just to allow for comparisons against `0` with the `os.Error` type // as a kind of transition period - if (operand->mode == Addressing_Constant && + if (!build_context.strict_style && + operand->mode == Addressing_Constant && target_type->kind == Type_Named && (c->pkg == nullptr || c->pkg->name != "os") && target_type->Named.name == "Error") {