aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/expand/rust-derive.cc
diff options
context:
space:
mode:
authorArthur Cohen <arthur.cohen@embecosm.com>2025-01-30 14:04:17 +0100
committerCohenArthur <arthur.cohen@embecosm.com>2025-02-20 09:37:09 +0000
commite3cebdda0d57e28098dbcc11b45aef85f9c152ae (patch)
tree98e45a1473b2ea5f5d57253bc2d1dec61c61de90 /gcc/rust/expand/rust-derive.cc
parentc638b4f52c652553bc1b0542cca306e1b1f73d10 (diff)
downloadgcc-e3cebdda0d57e28098dbcc11b45aef85f9c152ae.zip
gcc-e3cebdda0d57e28098dbcc11b45aef85f9c152ae.tar.gz
gcc-e3cebdda0d57e28098dbcc11b45aef85f9c152ae.tar.bz2
derive(Eq): Add implementation.
gcc/rust/ChangeLog: * expand/rust-derive.cc (DeriveVisitor::derive): Call into DeriveEq. * expand/rust-derive-eq.cc: New file. * expand/rust-derive-eq.h: New file. * Make-lang.in: Compile them. gcc/testsuite/ChangeLog: * rust/compile/derive-eq-invalid.rs: New test.
Diffstat (limited to 'gcc/rust/expand/rust-derive.cc')
-rw-r--r--gcc/rust/expand/rust-derive.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/rust/expand/rust-derive.cc b/gcc/rust/expand/rust-derive.cc
index d0ff067..8226a61 100644
--- a/gcc/rust/expand/rust-derive.cc
+++ b/gcc/rust/expand/rust-derive.cc
@@ -21,6 +21,7 @@
#include "rust-derive-copy.h"
#include "rust-derive-debug.h"
#include "rust-derive-default.h"
+#include "rust-derive-eq.h"
namespace Rust {
namespace AST {
@@ -48,6 +49,7 @@ DeriveVisitor::derive (Item &item, const Attribute &attr,
case BuiltinMacro::Default:
return DeriveDefault (attr.get_locus ()).go (item);
case BuiltinMacro::Eq:
+ return DeriveEq (attr.get_locus ()).go (item);
case BuiltinMacro::PartialEq:
case BuiltinMacro::Ord:
case BuiltinMacro::PartialOrd: