]> git.ipfire.org Git - thirdparty/gcc.git/commit
gccrs: derive(PartialEq): Implement proper discriminant comparison
authorArthur Cohen <arthur.cohen@embecosm.com>
Tue, 22 Apr 2025 20:21:01 +0000 (22:21 +0200)
committerArthur Cohen <arthur.cohen@embecosm.com>
Tue, 5 Aug 2025 14:36:48 +0000 (16:36 +0200)
commit7e48be1af720be6598dbf12c0abe6edbd9e92a47
treed52eb0a036ee1c1530daabce1302a97cc2b27a59
parent714a56ca67d2a70318b4678474a8fc019a007d29
gccrs: derive(PartialEq): Implement proper discriminant comparison

And use the new EnumMatchBuilder class to do so.

gcc/rust/ChangeLog:

* expand/rust-derive-partial-eq.cc (DerivePartialEq::eq_fn): Change signature.
(DerivePartialEq::visit_tuple): Use new eq_fn API.
(DerivePartialEq::visit_struct): Likewise.
(DerivePartialEq::visit_enum): Implement proper discriminant comparison.
* expand/rust-derive-partial-eq.h: Change eq_fn signature.

gcc/testsuite/ChangeLog:

* rust/execute/torture/derive-partialeq2.rs: Add declaration for
discriminant_value.
gcc/rust/expand/rust-derive-partial-eq.cc
gcc/rust/expand/rust-derive-partial-eq.h
gcc/testsuite/rust/execute/torture/derive-partialeq2.rs