rustc_attr_data_structures/
encode_cross_crate.rs

1use crate::AttributeKind;
2
3#[derive(PartialEq)]
4pub enum EncodeCrossCrate {
5    Yes,
6    No,
7}
8
9impl AttributeKind {
10    pub fn encode_cross_crate(&self) -> EncodeCrossCrate {
11        use AttributeKind::*;
12        use EncodeCrossCrate::*;
13
14        match self {
15            Align { .. } => No,
16            AllowConstFnUnstable(..) => No,
17            AllowInternalUnstable(..) => Yes,
18            AsPtr(..) => Yes,
19            BodyStability { .. } => No,
20            Confusables { .. } => Yes,
21            ConstStability { .. } => Yes,
22            ConstStabilityIndirect => No,
23            Deprecation { .. } => Yes,
24            DocComment { .. } => Yes,
25            ExportName { .. } => Yes,
26            Inline(..) => No,
27            MacroTransparency(..) => Yes,
28            Repr(..) => No,
29            Stability { .. } => Yes,
30            Cold(..) => No,
31            ConstContinue(..) => No,
32            LinkName { .. } => Yes,
33            LoopMatch(..) => No,
34            MayDangle(..) => No,
35            MustUse { .. } => Yes,
36            Naked(..) => No,
37            NoMangle(..) => No,
38            Optimize(..) => No,
39            PubTransparent(..) => Yes,
40            SkipDuringMethodDispatch { .. } => No,
41            TrackCaller(..) => Yes,
42            Used { .. } => No,
43        }
44    }
45}