]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gccrs: Add operator== for Optional.
authorOwen Avery <powerboat9.gamer@gmail.com>
Fri, 19 May 2023 17:15:34 +0000 (13:15 -0400)
committerArthur Cohen <arthur.cohen@embecosm.com>
Tue, 16 Jan 2024 17:37:21 +0000 (18:37 +0100)
gcc/rust/ChangeLog:

* util/rust-optional.h
(operator==): New for Optional<T> == Optional<U>.

Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>
gcc/rust/util/rust-optional.h

index 66730bd992d9b81fe350f7a93f2181186445678a..30880cd41db0dd8722ad0b71c64d81f8f8d40e24 100644 (file)
@@ -250,6 +250,16 @@ public:
   }
 };
 
+template <typename T, typename U>
+bool
+operator== (const Optional<T> &t, const Optional<U> &u)
+{
+  if (t.is_some ())
+    return u.is_some () && t.get () == u.get ();
+  else
+    return u.is_none ();
+}
+
 } // namespace Rust
 
 namespace std {