aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur Cohen <arthur.cohen@embecosm.com>2024-12-04 15:10:10 +0100
committerCohenArthur <arthur.cohen@embecosm.com>2024-12-09 14:46:13 +0000
commit3630428e54586413957c5b8edb4ee136a830aac2 (patch)
tree373d3c12a4207228c83b0a3e8637909f90e20814
parentd2025fe536db08effbe6b82bca8eeec67a55f4a4 (diff)
downloadgcc-3630428e54586413957c5b8edb4ee136a830aac2.zip
gcc-3630428e54586413957c5b8edb4ee136a830aac2.tar.gz
gcc-3630428e54586413957c5b8edb4ee136a830aac2.tar.bz2
derive(Copy): Use new LangItemPath
gcc/rust/ChangeLog: * expand/rust-derive-copy.cc: Use new LangItemPath for derive(Copy).
-rw-r--r--gcc/rust/expand/rust-derive-copy.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/rust/expand/rust-derive-copy.cc b/gcc/rust/expand/rust-derive-copy.cc
index 070a7cd..b36011d 100644
--- a/gcc/rust/expand/rust-derive-copy.cc
+++ b/gcc/rust/expand/rust-derive-copy.cc
@@ -18,6 +18,8 @@
#include "rust-derive-copy.h"
#include "rust-ast-full.h"
+#include "rust-mapping-common.h"
+#include "rust-path.h"
namespace Rust {
namespace AST {
@@ -44,7 +46,7 @@ DeriveCopy::copy_impl (
// `$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 = Rust::make_unique<LangItemPath> (LangItem::Kind::COPY, loc);
// we need to build up the generics for this impl block which will be just a
// clone of the types specified ones
@@ -116,7 +118,7 @@ DeriveCopy::copy_impl (
: builder.single_generic_type_path (name, generic_args_for_self);
return std::unique_ptr<Item> (
- new TraitImpl (copy, /* unsafe */ false,
+ new TraitImpl (std::move (copy), /* unsafe */ false,
/* exclam */ false, /* trait items */ {},
std::move (impl_generics), std::move (self_type_path),
WhereClause::create_empty (), Visibility::create_private (),