From: Pierre-Emmanuel Patry <[email protected]>
Previous code was technically valid since the moved from vector was
empty but explicitly setting it empty with it's own name will help.
gcc/rust/ChangeLog:
* expand/rust-derive-eq.cc: Use empty vector explicitly.
Signed-off-by: Pierre-Emmanuel Patry <[email protected]>
---
gcc/rust/expand/rust-derive-eq.cc | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/gcc/rust/expand/rust-derive-eq.cc
b/gcc/rust/expand/rust-derive-eq.cc
index 7da137fb5c2..17332a47937 100644
--- a/gcc/rust/expand/rust-derive-eq.cc
+++ b/gcc/rust/expand/rust-derive-eq.cc
@@ -128,9 +128,13 @@ DeriveEq::eq_impls (
auto eq_impl = builder.trait_impl (eq, std::move (eq_generics.self_type),
std::move (trait_items),
std::move (eq_generics.impl));
+
+ // StructuralEq is a marker trait
+ decltype (trait_items) steq_trait_items = {};
+
auto steq_impl
= builder.trait_impl (steq, std::move (steq_generics.self_type),
- std::move (trait_items),
+ std::move (steq_trait_items),
std::move (steq_generics.impl));
return vec (std::move (eq_impl), std::move (steq_impl));
--
2.50.1