From d250a379d9d416b27ba05b079901688bc8bc02ab Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Sat, 17 Feb 2024 22:06:53 -0600 Subject: [PATCH] fixed: weird issue with operator == for Optionals --- core/container/optional.onyx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/core/container/optional.onyx b/core/container/optional.onyx index c94eb1a4..b6133e73 100644 --- a/core/container/optional.onyx +++ b/core/container/optional.onyx @@ -255,11 +255,11 @@ use core #operator == (o1, o2: ?$T) -> bool { if cast(Optional(T).tag_enum, o1) != cast(Optional(T).tag_enum, o2) do return false; + if o1.tag == .None do return true; - return switch o1 { - case .None => true; - case .Some as v1 => v1 == o2->unwrap(); - }; + v1 := o1->unwrap(); + v2 := o2->unwrap(); + return v1 == v2; } #operator ?? macro (opt: ?$T, default: T) -> T { -- 2.25.1