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,
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 }
56 }
57}