about summary refs log tree commit diff
path: root/compiler/rustc_attr_data_structures/src
diff options
context:
space:
mode:
authorJonathan Brouwer <jonathantbrouwer@gmail.com>2025-07-03 09:10:49 +0200
committerJonathan Brouwer <jonathantbrouwer@gmail.com>2025-07-04 20:30:42 +0200
commit027126ce0b682367dc796c2cdcf844e162fca496 (patch)
tree3e2e9d03367ebfc948d0ca542b4265141c1bf549 /compiler/rustc_attr_data_structures/src
parent0c4fa2690de945f062668acfc36b3f8cfbd013e2 (diff)
downloadrust-027126ce0b682367dc796c2cdcf844e162fca496.tar.gz
rust-027126ce0b682367dc796c2cdcf844e162fca496.zip
Port `#[non_exhaustive]` to the new attribute parsing infrastructure
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 3b5e06c2a88..b5934f4e36e 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 `#[no_mangle]`
     NoMangle(Span),
 
+    /// Represents `#[non_exhaustive]`
+    NonExhaustive(Span),
+
     /// Represents `#[optimize(size|speed)]`
     Optimize(OptimizeAttr, 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 145cfba8e42..02e95ddcb6f 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,
             NoImplicitPrelude(..) => No,
             NoMangle(..) => No,
+            NonExhaustive(..) => Yes,
             Optimize(..) => No,
             PassByValue(..) => Yes,
             PubTransparent(..) => Yes,