Skip to content

Commit 1ff6551

Browse files
committed
Stabilise inline_const
1 parent 1e1e5b8 commit 1ff6551

38 files changed

+29
-106
lines changed

compiler/rustc_ast_passes/src/feature_gate.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -533,7 +533,6 @@ pub fn check_crate(krate: &ast::Crate, sess: &Session) {
533533
half_open_range_patterns_in_slices,
534534
"half-open range patterns in slices are unstable"
535535
);
536-
gate_all!(inline_const, "inline-const is experimental");
537536
gate_all!(inline_const_pat, "inline-const in pattern position is experimental");
538537
gate_all!(associated_const_equality, "associated const equality is incomplete");
539538
gate_all!(yeet_expr, "`do yeet` expression is experimental");

compiler/rustc_feature/src/accepted.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,8 @@ declare_features! (
189189
(accepted, inclusive_range_syntax, "1.26.0", Some(28237), None),
190190
/// Allows inferring outlives requirements (RFC 2093).
191191
(accepted, infer_outlives_requirements, "1.30.0", Some(44493), None),
192+
/// Allow anonymous constants from an inline `const` block
193+
(accepted, inline_const, "CURRENT_RUSTC_VERSION", Some(76001), None),
192194
/// Allows irrefutable patterns in `if let` and `while let` statements (RFC 2086).
193195
(accepted, irrefutable_let_patterns, "1.33.0", Some(44495), None),
194196
/// Allows `#[instruction_set(_)]` attribute.

compiler/rustc_feature/src/active.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -421,8 +421,6 @@ declare_features! (
421421
(active, imported_main, "1.53.0", Some(28937), None),
422422
/// Allows associated types in inherent impls.
423423
(incomplete, inherent_associated_types, "1.52.0", Some(8995), None),
424-
/// Allow anonymous constants from an inline `const` block
425-
(active, inline_const, "1.49.0", Some(76001), None),
426424
/// Allow anonymous constants from an inline `const` block in pattern position
427425
(incomplete, inline_const_pat, "1.58.0", Some(76001), None),
428426
/// Allows using `pointer` and `reference` in intra-doc links

compiler/rustc_parse/src/parser/mod.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1161,8 +1161,6 @@ impl<'a> Parser<'a> {
11611161
fn parse_const_block(&mut self, span: Span, pat: bool) -> PResult<'a, P<Expr>> {
11621162
if pat {
11631163
self.sess.gated_spans.gate(sym::inline_const_pat, span);
1164-
} else {
1165-
self.sess.gated_spans.gate(sym::inline_const, span);
11661164
}
11671165
self.eat_keyword(kw::Const);
11681166
let (attrs, blk) = self.parse_inner_attrs_and_block()?;

library/core/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@
192192
#![feature(extern_types)]
193193
#![feature(fundamental)]
194194
#![feature(if_let_guard)]
195-
#![feature(inline_const)]
195+
#![cfg_attr(bootstrap, feature(inline_const))]
196196
#![feature(intra_doc_pointers)]
197197
#![feature(intrinsics)]
198198
#![feature(lang_items)]

library/core/src/sync/atomic.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,8 @@ impl AtomicBool {
357357
/// # Examples
358358
///
359359
/// ```
360-
/// #![feature(atomic_from_mut, inline_const)]
360+
/// #![feature(atomic_from_mut)]
361+
/// #![cfg_attr(bootstrap, feature(inline_const))]
361362
/// use std::sync::atomic::{AtomicBool, Ordering};
362363
///
363364
/// let mut some_bools = [const { AtomicBool::new(false) }; 10];
@@ -1075,7 +1076,8 @@ impl<T> AtomicPtr<T> {
10751076
/// # Examples
10761077
///
10771078
/// ```
1078-
/// #![feature(atomic_from_mut, inline_const)]
1079+
/// #![feature(atomic_from_mut)]
1080+
/// #![cfg_attr(bootstrap, feature(inline_const))]
10791081
/// use std::ptr::null_mut;
10801082
/// use std::sync::atomic::{AtomicPtr, Ordering};
10811083
///
@@ -1985,7 +1987,8 @@ macro_rules! atomic_int {
19851987
/// # Examples
19861988
///
19871989
/// ```
1988-
/// #![feature(atomic_from_mut, inline_const)]
1990+
/// #![feature(atomic_from_mut)]
1991+
/// #![cfg_attr(bootstrap, feature(inline_const))]
19891992
#[doc = concat!($extra_feature, "use std::sync::atomic::{", stringify!($atomic_type), ", Ordering};")]
19901993
///
19911994
#[doc = concat!("let mut some_ints = [const { ", stringify!($atomic_type), "::new(0) }; 10];")]

library/core/tests/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
#![feature(hasher_prefixfree_extras)]
4242
#![feature(hashmap_internals)]
4343
#![feature(try_find)]
44-
#![feature(inline_const)]
44+
#![cfg_attr(bootstrap, feature(inline_const))]
4545
#![feature(is_sorted)]
4646
#![feature(layout_for_ptr)]
4747
#![feature(pattern)]

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

Lines changed: 0 additions & 32 deletions
This file was deleted.

src/test/codegen/issue-96274.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
// compile-flags: -O
33

44
#![crate_type = "lib"]
5-
#![feature(inline_const)]
65

76
use std::mem::MaybeUninit;
87

src/test/codegen/sanitizer-cfi-emit-type-metadata-id-itanium-cxx-abi.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
#![allow(dead_code)]
88
#![allow(incomplete_features)]
99
#![allow(unused_must_use)]
10-
#![feature(adt_const_params, extern_types, inline_const, type_alias_impl_trait)]
10+
#![feature(adt_const_params, extern_types, type_alias_impl_trait)]
1111

1212
extern crate core;
1313
use core::ffi::c_void;

0 commit comments

Comments
 (0)