https://gcc.gnu.org/g:a728f5f19a77d76e48ccfac5b3ccf0941f2150c3

commit r15-8631-ga728f5f19a77d76e48ccfac5b3ccf0941f2150c3
Author: Arthur Cohen <arthur.co...@embecosm.com>
Date:   Thu Dec 26 22:09:11 2024 +0000

    gccrs: derive(Copy): Use copy lang item when deriving Copy.
    
    gcc/rust/ChangeLog:
    
            * expand/rust-derive-copy.cc: Use lang item path.

Diff:
---
 gcc/rust/expand/rust-derive-copy.cc | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/gcc/rust/expand/rust-derive-copy.cc 
b/gcc/rust/expand/rust-derive-copy.cc
index bcfe1db6b4a1..31b4819c0429 100644
--- a/gcc/rust/expand/rust-derive-copy.cc
+++ b/gcc/rust/expand/rust-derive-copy.cc
@@ -18,6 +18,7 @@
 
 #include "rust-derive-copy.h"
 #include "rust-ast-full.h"
+#include "rust-hir-map.h"
 #include "rust-mapping-common.h"
 #include "rust-path.h"
 
@@ -43,12 +44,7 @@ DeriveCopy::copy_impl (
   std::string name,
   const std::vector<std::unique_ptr<GenericParam>> &type_generics)
 {
-  // `$crate::core::marker::Copy` instead
-  auto segments = std::vector<std::unique_ptr<TypePathSegment>> ();
-  segments.emplace_back (builder.type_path_segment ("Copy"));
-
-  auto copy = TypePath (std::move (segments), loc);
-  // auto copy = TypePath (LangItem::Kind::COPY, loc);
+  auto copy = builder.type_path (LangItem::Kind::COPY);
 
   // we need to build up the generics for this impl block which will be just a
   // clone of the types specified ones

Reply via email to