about summary refs log tree commit diff
path: root/compiler/rustc_attr_data_structures/src
diff options
context:
space:
mode:
authorPavel Grigorenko <GrigorenkoPV@ya.ru>2025-06-15 16:59:11 +0300
committerPavel Grigorenko <GrigorenkoPV@ya.ru>2025-07-04 00:07:56 +0300
commitef4dece2cb52dd14dc4f37a8484fa440a447da14 (patch)
tree510696ebfe3f236b74452512a430b2ed083e0911 /compiler/rustc_attr_data_structures/src
parent35453a854c4e7eabbfcc4ac4f0095b26ee890dc1 (diff)
downloadrust-ef4dece2cb52dd14dc4f37a8484fa440a447da14.tar.gz
rust-ef4dece2cb52dd14dc4f37a8484fa440a447da14.zip
Port `#[rustc_pass_by_value]` to the new attribute system
Diffstat (limited to 'compiler/rustc_attr_data_structures/src')
-rw-r--r--compiler/rustc_attr_data_structures/src/attributes.rs3
-rw-r--r--compiler/rustc_attr_data_structures/src/encode_cross_crate.rs1
2 files changed, 4 insertions, 0 deletions
diff --git a/compiler/rustc_attr_data_structures/src/attributes.rs b/compiler/rustc_attr_data_structures/src/attributes.rs
index 61ef31b8f9f..1744d394b90 100644
--- a/compiler/rustc_attr_data_structures/src/attributes.rs
+++ b/compiler/rustc_attr_data_structures/src/attributes.rs
@@ -284,6 +284,9 @@ pub enum AttributeKind {
     /// Represents `#[optimize(size|speed)]`
     Optimize(OptimizeAttr, Span),
 
+    /// Represents `#[rustc_pass_by_value]` (used by the `rustc_pass_by_value` lint).
+    PassByValue(Span),
+
     /// Represents `#[rustc_pub_transparent]` (used by the `repr_transparent_external_private_fields` lint).
     PubTransparent(Span),
 
diff --git a/compiler/rustc_attr_data_structures/src/encode_cross_crate.rs b/compiler/rustc_attr_data_structures/src/encode_cross_crate.rs
index 34638ff5540..af085bfc8ee 100644
--- a/compiler/rustc_attr_data_structures/src/encode_cross_crate.rs
+++ b/compiler/rustc_attr_data_structures/src/encode_cross_crate.rs
@@ -36,6 +36,7 @@ impl AttributeKind {
             Naked(..) => No,
             NoMangle(..) => No,
             Optimize(..) => No,
+            PassByValue(..) => Yes,
             PubTransparent(..) => Yes,
             Repr(..) => No,
             RustcLayoutScalarValidRangeEnd(..) => Yes,