From ef4dece2cb52dd14dc4f37a8484fa440a447da14 Mon Sep 17 00:00:00 2001 From: Pavel Grigorenko Date: Sun, 15 Jun 2025 16:59:11 +0300 Subject: Port `#[rustc_pass_by_value]` to the new attribute system --- compiler/rustc_attr_data_structures/src/attributes.rs | 3 +++ compiler/rustc_attr_data_structures/src/encode_cross_crate.rs | 1 + 2 files changed, 4 insertions(+) (limited to 'compiler/rustc_attr_data_structures/src') 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, -- cgit 1.4.1-3-g733a5