| use rustc_feature::AttributeStability; |
| |
| use super::prelude::*; |
| |
| pub(crate) struct MayDangleParser; |
| impl NoArgsAttributeParser for MayDangleParser { |
| const PATH: &[Symbol] = &[sym::may_dangle]; |
| const ALLOWED_TARGETS: AllowedTargets = AllowedTargets::AllowList(ALL_TARGETS); //FIXME Still checked fully in `check_attr.rs` |
| const STABILITY: AttributeStability = unstable!(dropck_eyepatch); |
| const CREATE: fn(span: Span) -> AttributeKind = AttributeKind::MayDangle; |
| } |
| |
| pub(crate) struct ComptimeParser; |
| impl NoArgsAttributeParser for ComptimeParser { |
| const PATH: &[Symbol] = &[sym::rustc_comptime]; |
| const ON_DUPLICATE: OnDuplicate = OnDuplicate::Error; |
| const ALLOWED_TARGETS: AllowedTargets = AllowedTargets::AllowList(&[ |
| Allow(Target::Method(MethodKind::Inherent)), |
| Allow(Target::Fn), |
| ]); |
| const STABILITY: AttributeStability = unstable!(rustc_attrs); |
| const CREATE: fn(Span) -> AttributeKind = AttributeKind::RustcComptime; |
| } |