diff --git a/src/librustc_feature/active.rs b/src/librustc_feature/active.rs index d7c310a8b4c8b..35ef71def918e 100644 --- a/src/librustc_feature/active.rs +++ b/src/librustc_feature/active.rs @@ -579,6 +579,9 @@ declare_features! ( /// Alloc calling `transmute` in const fn (active, const_fn_transmute, "1.46.0", Some(53605), None), + /// Instruction set declarations for functions (RFC 2867) + (active, isa_attribute, "1.47.0", Some(74727), None), + // ------------------------------------------------------------------------- // feature-group-end: actual feature gates // ------------------------------------------------------------------------- diff --git a/src/librustc_feature/builtin_attrs.rs b/src/librustc_feature/builtin_attrs.rs index 879f06f89a70a..341740938b3cb 100644 --- a/src/librustc_feature/builtin_attrs.rs +++ b/src/librustc_feature/builtin_attrs.rs @@ -343,6 +343,11 @@ pub const BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[ experimental!(register_tool), ), + // RFC 2867 + gated!( + instruction_set, AssumedUsed, template!(List: "set"), experimental!(isa_attribute), + ), + // ========================================================================== // Internal attributes: Stability, deprecation, and unsafe: // ========================================================================== diff --git a/src/librustc_span/symbol.rs b/src/librustc_span/symbol.rs index 98776a0478237..0bfae6f01d15f 100644 --- a/src/librustc_span/symbol.rs +++ b/src/librustc_span/symbol.rs @@ -590,11 +590,13 @@ symbols! { inlateout, inline, inout, + instruction_set, intel, into_iter, into_result, intrinsics, irrefutable_let_patterns, + isa_attribute, isize, issue, issue_5723_bootstrap,