diff options
author | Owen Avery <powerboat9.gamer@gmail.com> | 2023-05-19 13:15:34 -0400 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-01-16 18:37:21 +0100 |
commit | 014dd0304d9d2f0f32a390226470be4a876e903c (patch) | |
tree | c2736b975e7a638766d1efb9a4264c7e75f8cedf /gcc/rust/util/rust-optional.h | |
parent | efc6c1aa3c8e78e69b96ac0240b3fb46ce8e284e (diff) | |
download | gcc-014dd0304d9d2f0f32a390226470be4a876e903c.zip gcc-014dd0304d9d2f0f32a390226470be4a876e903c.tar.gz gcc-014dd0304d9d2f0f32a390226470be4a876e903c.tar.bz2 |
gccrs: 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/rust/util/rust-optional.h')
-rw-r--r-- | gcc/rust/util/rust-optional.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/rust/util/rust-optional.h b/gcc/rust/util/rust-optional.h index 66730bd..30880cd 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 { |