Skip to content

Commit 7864c3f

Browse files
authored
Rollup merge of rust-lang#73858 - tspiteri:const-methods, r=oli-obk
Make more primitive integer methods const Now that rust-lang#72437 has been merged and `const_if_match` is stable, these methods can be stabilized const. The methods are grouped in commits according to feature names: * `const_nonzero_int_methods` - `NonZero*::new` * some `const_checked_int_methods` - `{i*,u*}::checked_add` - `{i*,u*}::checked_sub` - `{i*,u*}::checked_mul` - `{i*,u*}::checked_neg` - `{i*,u*}::checked_shl` - `{i*,u*}::checked_shr` - `i*::checked_abs` * `const_saturating_int_methods` - `{i*,u*}::saturating_add` - `{i*,u*}::saturating_sub` - `{i*,u*}::saturating_mul` - `i*::saturating_neg` - `i*::saturating_abs` * `const_int_sign` - `i*::signum` * `const_ascii_ctype_on_intrinsics` - `{char,u8}::is_ascii_alphabetic` - `{char,u8}::is_ascii_uppercase` - `{char,u8}::is_ascii_lowercase` - `{char,u8}::is_ascii_alphanumeric` - `{char,u8}::is_ascii_digit` - `{char,u8}::is_ascii_hexdigit` - `{char,u8}::is_ascii_punctuation` - `{char,u8}::is_ascii_graphic` - `{char,u8}::is_ascii_whitespace` - `{char,u8}::is_ascii_control`
2 parents 4a90e36 + d6cf128 commit 7864c3f

File tree

8 files changed

+43
-53
lines changed

8 files changed

+43
-53
lines changed

src/libcore/char/methods.rs

+10-10
Original file line numberDiff line numberDiff line change
@@ -1226,7 +1226,7 @@ impl char {
12261226
/// assert!(!esc.is_ascii_alphabetic());
12271227
/// ```
12281228
#[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
1229-
#[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
1229+
#[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.47.0")]
12301230
#[inline]
12311231
pub const fn is_ascii_alphabetic(&self) -> bool {
12321232
match *self {
@@ -1262,7 +1262,7 @@ impl char {
12621262
/// assert!(!esc.is_ascii_uppercase());
12631263
/// ```
12641264
#[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
1265-
#[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
1265+
#[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.47.0")]
12661266
#[inline]
12671267
pub const fn is_ascii_uppercase(&self) -> bool {
12681268
match *self {
@@ -1298,7 +1298,7 @@ impl char {
12981298
/// assert!(!esc.is_ascii_lowercase());
12991299
/// ```
13001300
#[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
1301-
#[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
1301+
#[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.47.0")]
13021302
#[inline]
13031303
pub const fn is_ascii_lowercase(&self) -> bool {
13041304
match *self {
@@ -1337,7 +1337,7 @@ impl char {
13371337
/// assert!(!esc.is_ascii_alphanumeric());
13381338
/// ```
13391339
#[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
1340-
#[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
1340+
#[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.47.0")]
13411341
#[inline]
13421342
pub const fn is_ascii_alphanumeric(&self) -> bool {
13431343
match *self {
@@ -1373,7 +1373,7 @@ impl char {
13731373
/// assert!(!esc.is_ascii_digit());
13741374
/// ```
13751375
#[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
1376-
#[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
1376+
#[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.47.0")]
13771377
#[inline]
13781378
pub const fn is_ascii_digit(&self) -> bool {
13791379
match *self {
@@ -1412,7 +1412,7 @@ impl char {
14121412
/// assert!(!esc.is_ascii_hexdigit());
14131413
/// ```
14141414
#[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
1415-
#[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
1415+
#[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.47.0")]
14161416
#[inline]
14171417
pub const fn is_ascii_hexdigit(&self) -> bool {
14181418
match *self {
@@ -1452,7 +1452,7 @@ impl char {
14521452
/// assert!(!esc.is_ascii_punctuation());
14531453
/// ```
14541454
#[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
1455-
#[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
1455+
#[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.47.0")]
14561456
#[inline]
14571457
pub const fn is_ascii_punctuation(&self) -> bool {
14581458
match *self {
@@ -1488,7 +1488,7 @@ impl char {
14881488
/// assert!(!esc.is_ascii_graphic());
14891489
/// ```
14901490
#[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
1491-
#[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
1491+
#[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.47.0")]
14921492
#[inline]
14931493
pub const fn is_ascii_graphic(&self) -> bool {
14941494
match *self {
@@ -1541,7 +1541,7 @@ impl char {
15411541
/// assert!(!esc.is_ascii_whitespace());
15421542
/// ```
15431543
#[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
1544-
#[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
1544+
#[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.47.0")]
15451545
#[inline]
15461546
pub const fn is_ascii_whitespace(&self) -> bool {
15471547
match *self {
@@ -1579,7 +1579,7 @@ impl char {
15791579
/// assert!(esc.is_ascii_control());
15801580
/// ```
15811581
#[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
1582-
#[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
1582+
#[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.47.0")]
15831583
#[inline]
15841584
pub const fn is_ascii_control(&self) -> bool {
15851585
match *self {

src/libcore/lib.rs

-2
Original file line numberDiff line numberDiff line change
@@ -70,13 +70,11 @@
7070
#![feature(bound_cloned)]
7171
#![feature(cfg_target_has_atomic)]
7272
#![feature(concat_idents)]
73-
#![feature(const_ascii_ctype_on_intrinsics)]
7473
#![feature(const_alloc_layout)]
7574
#![feature(const_discriminant)]
7675
#![feature(const_checked_int_methods)]
7776
#![feature(const_euclidean_int_methods)]
7877
#![feature(const_overflowing_int_methods)]
79-
#![feature(const_saturating_int_methods)]
8078
#![feature(const_int_unchecked_arith)]
8179
#![feature(const_int_pow)]
8280
#![feature(constctlz)]

0 commit comments

Comments
 (0)