Skip to content

Commit d75c753

Browse files
committed
Reuse the staged_api feature for rustc_const_unstable
1 parent 9409c20 commit d75c753

16 files changed

+19
-27
lines changed

src/liballoc/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@
117117
#![feature(unsized_locals)]
118118
#![feature(allocator_internals)]
119119
#![cfg_attr(bootstrap, feature(on_unimplemented))]
120-
#![feature(rustc_const_unstable)]
120+
#![cfg_attr(bootstrap, feature(rustc_const_unstable))]
121121
#![feature(slice_partition_dedup)]
122122
#![feature(maybe_uninit_extra, maybe_uninit_slice)]
123123
#![feature(alloc_layout_extra)]

src/libcore/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@
9696
#![feature(prelude_import)]
9797
#![feature(repr_simd, platform_intrinsics)]
9898
#![feature(rustc_attrs)]
99-
#![feature(rustc_const_unstable)]
99+
#![cfg_attr(bootstrap, feature(rustc_const_unstable))]
100100
#![feature(simd_ffi)]
101101
#![feature(specialization)]
102102
#![feature(staged_api)]

src/librustc/middle/stability.rs

+6-1
Original file line numberDiff line numberDiff line change
@@ -189,9 +189,14 @@ impl<'a, 'tcx> Annotator<'a, 'tcx> {
189189
}
190190
} else {
191191
// Emit errors for non-staged-api crates.
192+
let unstable_attrs = [
193+
sym::unstable, sym::stable,
194+
sym::rustc_deprecated,
195+
sym::rustc_const_unstable,
196+
];
192197
for attr in attrs {
193198
let name = attr.name_or_empty();
194-
if [sym::unstable, sym::stable, sym::rustc_deprecated].contains(&name) {
199+
if unstable_attrs.contains(&name) {
195200
attr::mark_used(attr);
196201
struct_span_err!(
197202
self.tcx.sess,

src/librustc_feature/active.rs

-4
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,6 @@ declare_features! (
111111
/// macros disappear).
112112
(active, allow_internal_unsafe, "1.0.0", None, None),
113113

114-
/// Allows using `#[rustc_const_unstable(feature = "foo", ..)]` which
115-
/// lets a function to be `const` when opted into with `#![feature(foo)]`.
116-
(active, rustc_const_unstable, "1.0.0", None, None),
117-
118114
/// no-tracking-issue-end
119115
120116
/// Allows using `#[link_name="llvm.*"]`.

src/librustc_feature/builtin_attrs.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -344,10 +344,8 @@ pub const BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[
344344
unstable, Whitelisted,
345345
template!(List: r#"feature = "name", reason = "...", issue = "N""#),
346346
),
347-
gated!(
348-
rustc_const_unstable, Normal, template!(List: r#"feature = "name""#),
349-
"the `#[rustc_const_unstable]` attribute is an internal feature",
350-
),
347+
// FIXME(#14407)
348+
ungated!(rustc_const_unstable, Whitelisted, template!(List: r#"feature = "name""#)),
351349
gated!(
352350
allow_internal_unstable, Normal, template!(Word, List: "feat1, feat2, ..."),
353351
"allow_internal_unstable side-steps feature gating and stability checks",

src/libstd/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@
293293
#![feature(raw)]
294294
#![feature(renamed_spin_loop)]
295295
#![feature(rustc_attrs)]
296-
#![feature(rustc_const_unstable)]
296+
#![cfg_attr(bootstrap, feature(rustc_const_unstable))]
297297
#![feature(rustc_private)]
298298
#![feature(shrink_to)]
299299
#![feature(slice_concat_ext)]

src/test/rustdoc/const-display.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
reason = "who ever let humans program computers, we're apparently really bad at it",
55
issue = "0")]
66

7-
#![feature(rustc_const_unstable, const_fn, foo, foo2)]
7+
#![feature(const_fn, foo, foo2)]
88
#![feature(staged_api)]
99

1010
// @has 'foo/fn.foo.html' '//pre' 'pub unsafe fn foo() -> u32'

src/test/ui/consts/const-eval/auxiliary/stability.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#![crate_type="rlib"]
44
#![stable(feature = "rust1", since = "1.0.0")]
55

6-
#![feature(rustc_const_unstable, const_fn)]
6+
#![feature(const_fn)]
77
#![feature(staged_api)]
88

99
#[stable(feature = "rust1", since = "1.0.0")]

src/test/ui/consts/const-eval/dont_promote_unstable_const_fn.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
we're apparently really bad at it",
44
issue = "0")]
55

6-
#![feature(rustc_const_unstable, const_fn)]
6+
#![feature(const_fn)]
77
#![feature(staged_api)]
88

99
#[stable(feature = "rust1", since = "1.0.0")]

src/test/ui/consts/min_const_fn/min_const_fn_libstd_stability.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
we're apparently really bad at it",
44
issue = "0")]
55

6-
#![feature(rustc_const_unstable, const_fn, foo, foo2)]
6+
#![feature(const_fn, foo, foo2)]
77
#![feature(staged_api)]
88

99
#[stable(feature = "rust1", since = "1.0.0")]

src/test/ui/consts/min_const_fn/min_const_unsafe_fn_libstd_stability.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
we're apparently really bad at it",
44
issue = "0")]
55

6-
#![feature(rustc_const_unstable, const_fn, foo, foo2)]
6+
#![feature(const_fn, foo, foo2)]
77
#![feature(staged_api)]
88

99
#[stable(feature = "rust1", since = "1.0.0")]

src/test/ui/consts/min_const_fn/min_const_unsafe_fn_libstd_stability2.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
we're apparently really bad at it",
44
issue = "0")]
55

6-
#![feature(rustc_const_unstable, const_fn, foo, foo2)]
6+
#![feature(const_fn, foo, foo2)]
77
#![feature(staged_api)]
88

99
#[stable(feature = "rust1", since = "1.0.0")]

src/test/ui/feature-gate/allow-features-empty.rs

-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
// compile-flags: -Z allow_features=
22
// Note: This test uses rustc internal flags because they will never stabilize.
33

4-
#![feature(rustc_const_unstable)] //~ ERROR
5-
64
#![feature(lang_items)] //~ ERROR
75

86
#![feature(unknown_stdlib_feature)] //~ ERROR

src/test/ui/feature-gate/allow-features.rs

-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
// compile-flags: -Z allow_features=lang_items
22
// Note: This test uses rustc internal flags because they will never stabilize.
33

4-
#![feature(rustc_const_unstable)] //~ ERROR
5-
64
#![feature(lang_items)]
75

86
#![feature(unknown_stdlib_feature)] //~ ERROR

src/test/ui/feature-gates/feature-gate-rustc_const_unstable.rs

+1-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
// Test internal const fn feature gate.
22

3-
#![feature(staged_api)]
43
#![feature(const_fn)]
5-
//#![feature(rustc_const_unstable)]
64

7-
#[stable(feature="zing", since="1.0.0")]
8-
#[rustc_const_unstable(feature="fzzzzzt")] //~ERROR internal feature
5+
#[rustc_const_unstable(feature="fzzzzzt")] //~ stability attributes may not be used outside
96
pub const fn bazinga() {}
107

118
fn main() {

src/test/ui/stability-attribute/stability-attribute-sanity.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Various checks that stability attributes are used correctly, per RFC 507
22

3-
#![feature(const_fn, staged_api, rustc_const_unstable)]
3+
#![feature(const_fn, staged_api)]
44

55
#![stable(feature = "rust1", since = "1.0.0")]
66

0 commit comments

Comments
 (0)