Skip to content

Commit ae20c3f

Browse files
committed
Stabilise inline_const
1 parent 07d0d7c commit ae20c3f

File tree

16 files changed

+11
-68
lines changed

16 files changed

+11
-68
lines changed

Diff for: compiler/rustc_ast_passes/src/feature_gate.rs

-1
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,6 @@ pub fn check_crate(krate: &ast::Crate, sess: &Session, features: &Features) {
556556
half_open_range_patterns_in_slices,
557557
"half-open range patterns in slices are unstable"
558558
);
559-
gate_all!(inline_const, "inline-const is experimental");
560559
gate_all!(inline_const_pat, "inline-const in pattern position is experimental");
561560
gate_all!(associated_const_equality, "associated const equality is incomplete");
562561
gate_all!(yeet_expr, "`do yeet` expression is experimental");

Diff for: compiler/rustc_feature/src/accepted.rs

+2
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,8 @@ declare_features! (
211211
(accepted, inclusive_range_syntax, "1.26.0", Some(28237)),
212212
/// Allows inferring outlives requirements (RFC 2093).
213213
(accepted, infer_outlives_requirements, "1.30.0", Some(44493)),
214+
/// Allow anonymous constants from an inline `const` block
215+
(accepted, inline_const, "CURRENT_RUSTC_VERSION", Some(76001)),
214216
/// Allows irrefutable patterns in `if let` and `while let` statements (RFC 2086).
215217
(accepted, irrefutable_let_patterns, "1.33.0", Some(44495)),
216218
/// Allows `#[instruction_set(_)]` attribute.

Diff for: compiler/rustc_feature/src/unstable.rs

-2
Original file line numberDiff line numberDiff line change
@@ -501,8 +501,6 @@ declare_features! (
501501
(unstable, impl_trait_in_fn_trait_return, "1.64.0", Some(99697)),
502502
/// Allows associated types in inherent impls.
503503
(incomplete, inherent_associated_types, "1.52.0", Some(8995)),
504-
/// Allow anonymous constants from an inline `const` block
505-
(unstable, inline_const, "1.49.0", Some(76001)),
506504
/// Allow anonymous constants from an inline `const` block in pattern position
507505
(unstable, inline_const_pat, "1.58.0", Some(76001)),
508506
/// Allows using `pointer` and `reference` in intra-doc links

Diff for: compiler/rustc_middle/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
#![feature(coroutines)]
3838
#![feature(generic_nonzero)]
3939
#![feature(if_let_guard)]
40-
#![feature(inline_const)]
40+
#![cfg_attr(bootstrap, feature(inline_const))]
4141
#![feature(iter_from_coroutine)]
4242
#![feature(negative_impls)]
4343
#![feature(never_type)]

Diff for: compiler/rustc_mir_transform/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#![feature(cow_is_borrowed)]
55
#![feature(decl_macro)]
66
#![feature(impl_trait_in_assoc_type)]
7-
#![feature(inline_const)]
7+
#![cfg_attr(bootstrap, feature(inline_const))]
88
#![feature(is_sorted)]
99
#![feature(let_chains)]
1010
#![feature(map_try_insert)]

Diff for: compiler/rustc_parse/src/parser/mod.rs

-2
Original file line numberDiff line numberDiff line change
@@ -1254,8 +1254,6 @@ impl<'a> Parser<'a> {
12541254
fn parse_const_block(&mut self, span: Span, pat: bool) -> PResult<'a, P<Expr>> {
12551255
if pat {
12561256
self.psess.gated_spans.gate(sym::inline_const_pat, span);
1257-
} else {
1258-
self.psess.gated_spans.gate(sym::inline_const, span);
12591257
}
12601258
self.eat_keyword(kw::Const);
12611259
let (attrs, blk) = self.parse_inner_attrs_and_block()?;

Diff for: compiler/rustc_serialize/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
#![feature(const_option)]
1313
#![feature(core_intrinsics)]
1414
#![feature(generic_nonzero)]
15-
#![feature(inline_const)]
15+
#![cfg_attr(bootstrap, feature(inline_const))]
1616
#![feature(min_specialization)]
1717
#![feature(never_type)]
1818
#![feature(ptr_sub_ptr)]

Diff for: library/alloc/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,6 @@
129129
#![feature(generic_nonzero)]
130130
#![feature(hasher_prefixfree_extras)]
131131
#![feature(hint_assert_unchecked)]
132-
#![feature(inline_const)]
133132
#![feature(inplace_iteration)]
134133
#![feature(iter_advance_by)]
135134
#![feature(iter_next_chunk)]
@@ -170,6 +169,7 @@
170169
// Language features:
171170
// tidy-alphabetical-start
172171
#![cfg_attr(bootstrap, feature(associated_type_bounds))]
172+
#![cfg_attr(bootstrap, feature(inline_const))]
173173
#![cfg_attr(not(bootstrap), rustc_preserve_ub_checks)]
174174
#![cfg_attr(not(test), feature(coroutine_trait))]
175175
#![cfg_attr(test, feature(panic_update_hook))]

Diff for: library/core/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@
201201
//
202202
// Language features:
203203
// tidy-alphabetical-start
204+
#![cfg_attr(bootstrap, feature(inline_const))]
204205
#![feature(abi_unadjusted)]
205206
#![feature(adt_const_params)]
206207
#![feature(allow_internal_unsafe)]
@@ -231,7 +232,6 @@
231232
#![feature(fundamental)]
232233
#![feature(generic_arg_infer)]
233234
#![feature(if_let_guard)]
234-
#![feature(inline_const)]
235235
#![feature(intra_doc_pointers)]
236236
#![feature(intrinsics)]
237237
#![feature(lang_items)]

Diff for: library/core/src/sync/atomic.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,7 @@ impl AtomicBool {
511511
/// # Examples
512512
///
513513
/// ```
514-
/// #![feature(atomic_from_mut, inline_const)]
514+
/// #![feature(atomic_from_mut)]
515515
/// use std::sync::atomic::{AtomicBool, Ordering};
516516
///
517517
/// let mut some_bools = [const { AtomicBool::new(false) }; 10];
@@ -1313,7 +1313,7 @@ impl<T> AtomicPtr<T> {
13131313
/// # Examples
13141314
///
13151315
/// ```
1316-
/// #![feature(atomic_from_mut, inline_const)]
1316+
/// #![feature(atomic_from_mut)]
13171317
/// use std::ptr::null_mut;
13181318
/// use std::sync::atomic::{AtomicPtr, Ordering};
13191319
///
@@ -2303,7 +2303,7 @@ macro_rules! atomic_int {
23032303
/// # Examples
23042304
///
23052305
/// ```
2306-
/// #![feature(atomic_from_mut, inline_const)]
2306+
/// #![feature(atomic_from_mut)]
23072307
#[doc = concat!($extra_feature, "use std::sync::atomic::{", stringify!($atomic_type), ", Ordering};")]
23082308
///
23092309
#[doc = concat!("let mut some_ints = [const { ", stringify!($atomic_type), "::new(0) }; 10];")]

Diff for: library/core/tests/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
#![feature(hasher_prefixfree_extras)]
4848
#![feature(hashmap_internals)]
4949
#![feature(try_find)]
50-
#![feature(inline_const)]
50+
#![cfg_attr(bootstrap, feature(inline_const))]
5151
#![feature(is_sorted)]
5252
#![feature(layout_for_ptr)]
5353
#![feature(pattern)]

Diff for: library/portable-simd/crates/core_simd/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
convert_float_to_int,
88
core_intrinsics,
99
decl_macro,
10-
inline_const,
1110
intra_doc_pointers,
1211
repr_simd,
1312
simd_ffi,

Diff for: src/doc/unstable-book/src/language-features/inline-const-pat.md

-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
The tracking issue for this feature is: [#76001]
44

5-
See also [`inline_const`](inline-const.md)
6-
75
------
86

97
This feature allows you to use inline constant expressions in pattern position:

Diff for: src/doc/unstable-book/src/language-features/inline-const.md

-32
This file was deleted.

Diff for: tests/ui/feature-gates/feature-gate-inline_const.rs

-6
This file was deleted.

Diff for: tests/ui/feature-gates/feature-gate-inline_const.stderr

-13
This file was deleted.

0 commit comments

Comments
 (0)