rustc_attr_data_structures/
encode_cross_crate.rs1use 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}