From: Pierre-Emmanuel Patry <[email protected]>

Construct the TypeBoundPredicate in the vector instead of copying it.

gcc/rust/ChangeLog:

        * typecheck/rust-hir-trait-resolve.cc (TraitResolver::resolve_trait):
        Construct value in place.

Signed-off-by: Pierre-Emmanuel Patry <[email protected]>
---
 gcc/rust/typecheck/rust-hir-trait-resolve.cc | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/gcc/rust/typecheck/rust-hir-trait-resolve.cc 
b/gcc/rust/typecheck/rust-hir-trait-resolve.cc
index b8dd0ad782a..03121d1009e 100644
--- a/gcc/rust/typecheck/rust-hir-trait-resolve.cc
+++ b/gcc/rust/typecheck/rust-hir-trait-resolve.cc
@@ -253,12 +253,10 @@ TraitResolver::resolve_trait (HIR::Trait *trait_reference)
 
   // They also inherit themselves as a bound this enables a trait item to
   // reference other Self::trait_items
-  auto self_hrtb
-    = TyTy::TypeBoundPredicate (trait_reference->get_mappings ().get_defid (),
-                               std::move (self_subst_copy),
-                               BoundPolarity::RegularBound,
-                               trait_reference->get_locus ());
-  specified_bounds.push_back (self_hrtb);
+  specified_bounds.emplace_back (trait_reference->get_mappings ().get_defid (),
+                                std::move (self_subst_copy),
+                                BoundPolarity::RegularBound,
+                                trait_reference->get_locus ());
 
   // look for any
   std::vector<TyTy::TypeBoundPredicate> super_traits;
-- 
2.50.1

Reply via email to