From: Pierre-Emmanuel Patry Date: Tue, 5 Aug 2025 08:55:33 +0000 (+0200) Subject: gccrs: Explicitly use an empty vector for structural eq X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7eef183ae85eb5bd4756061dbe9ad0a2ecc9dce7;p=thirdparty%2Fgcc.git gccrs: Explicitly use an empty vector for structural eq 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 --- 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));