aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorOwen Avery <powerboat9.gamer@gmail.com>2023-05-19 13:15:34 -0400
committerCohenArthur <arthur.cohen@embecosm.com>2023-05-22 07:59:49 +0000
commit003ac98771e6f8c4ba6b9878a925f61cc9d6c6e5 (patch)
treebf8945614ea1f8f6c5b7781d23bb8ef6d1d4b345 /gcc
parentc7b7e297ea4b688ef9fb51a8aee2a8b2af39ac1c (diff)
downloadgcc-003ac98771e6f8c4ba6b9878a925f61cc9d6c6e5.zip
gcc-003ac98771e6f8c4ba6b9878a925f61cc9d6c6e5.tar.gz
gcc-003ac98771e6f8c4ba6b9878a925f61cc9d6c6e5.tar.bz2
Add operator== for Optional.
gcc/rust/ChangeLog: * util/rust-optional.h (operator==): New for Optional<T> == Optional<U>. Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>
Diffstat (limited to 'gcc')
-rw-r--r--gcc/rust/util/rust-optional.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/rust/util/rust-optional.h b/gcc/rust/util/rust-optional.h
index e3593a1..d3dfb7f 100644
--- a/gcc/rust/util/rust-optional.h
+++ b/gcc/rust/util/rust-optional.h
@@ -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 {