Files
rust/compiler/rustc_attr_data_structures/src/encode_cross_crate.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

51 lines
1.5 KiB
Rust
Raw Normal View History

2025-06-20 09:49:15 +02:00
use crate::AttributeKind;
#[derive(PartialEq)]
pub enum EncodeCrossCrate {
Yes,
No,
}
impl AttributeKind {
pub fn encode_cross_crate(&self) -> EncodeCrossCrate {
use AttributeKind::*;
use EncodeCrossCrate::*;
match self {
Align { .. } => No,
AllowConstFnUnstable(..) => No,
AllowInternalUnstable(..) => Yes,
AsPtr(..) => Yes,
BodyStability { .. } => No,
Confusables { .. } => Yes,
ConstStability { .. } => Yes,
ConstStabilityIndirect => No,
Deprecation { .. } => Yes,
DocComment { .. } => Yes,
ExportName { .. } => Yes,
2025-06-20 09:49:15 +02:00
Inline(..) => No,
LinkSection { .. } => No,
2025-06-20 09:49:15 +02:00
MacroTransparency(..) => Yes,
Repr(..) => No,
Stability { .. } => Yes,
Cold(..) => No,
ConstContinue(..) => No,
LinkName { .. } => Yes,
2025-06-20 09:49:15 +02:00
LoopMatch(..) => No,
MayDangle(..) => No,
MustUse { .. } => Yes,
Naked(..) => No,
NoMangle(..) => No,
Optimize(..) => No,
PubTransparent(..) => Yes,
RustcLayoutScalarValidRangeEnd(..) => Yes,
RustcLayoutScalarValidRangeStart(..) => Yes,
RustcObjectLifetimeDefault => No,
2025-06-20 09:49:15 +02:00
SkipDuringMethodDispatch { .. } => No,
TargetFeature(..) => No,
2025-06-20 09:49:15 +02:00
TrackCaller(..) => Yes,
Used { .. } => No,
2025-06-20 09:49:15 +02:00
}
}
}