From: Arthur Cohen Date: Thu, 26 Dec 2024 22:09:11 +0000 (+0000) Subject: gccrs: derive(Copy): Use copy lang item when deriving Copy. X-Git-Tag: basepoints/gcc-16~922 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a728f5f19a77d76e48ccfac5b3ccf0941f2150c3;p=thirdparty%2Fgcc.git gccrs: derive(Copy): Use copy lang item when deriving Copy. gcc/rust/ChangeLog: * expand/rust-derive-copy.cc: Use lang item path. --- diff --git a/gcc/rust/expand/rust-derive-copy.cc b/gcc/rust/expand/rust-derive-copy.cc index bcfe1db6b4a..31b4819c042 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> &type_generics) { - // `$crate::core::marker::Copy` instead - auto segments = std::vector> (); - 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