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            // tidy-alphabetical-start
16            Align { .. } => No,
17            AllowConstFnUnstable(..) => No,
18            AllowInternalUnstable(..) => Yes,
19            AsPtr(..) => Yes,
20            BodyStability { .. } => No,
21            Cold(..) => No,
22            Confusables { .. } => Yes,
23            ConstContinue(..) => No,
24            ConstStability { .. } => Yes,
25            ConstStabilityIndirect => No,
26            Deprecation { .. } => Yes,
27            DocComment { .. } => Yes,
28            ExportName { .. } => Yes,
29            Ignore { .. } => No,
30            Inline(..) => No,
31            LinkName { .. } => Yes,
32            LinkSection { .. } => No,
33            LoopMatch(..) => No,
34            MacroTransparency(..) => Yes,
35            MayDangle(..) => No,
36            MustUse { .. } => Yes,
37            Naked(..) => No,
38            NoImplicitPrelude(..) => No,
39            NoMangle(..) => No,
40            NonExhaustive(..) => Yes,
41            Optimize(..) => No,
42            PassByValue(..) => Yes,
43            Path(..) => No,
44            PubTransparent(..) => Yes,
45            Repr { .. } => No,
46            RustcLayoutScalarValidRangeEnd(..) => Yes,
47            RustcLayoutScalarValidRangeStart(..) => Yes,
48            RustcObjectLifetimeDefault => No,
49            SkipDuringMethodDispatch { .. } => No,
50            Stability { .. } => Yes,
51            TargetFeature(..) => No,
52            TrackCaller(..) => Yes,
53            Used { .. } => No,
54            // tidy-alphabetical-end
55        }
56    }
57}