about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTrevor Spiteri <tspiteri@ieee.org>2020-06-29 10:36:55 +0200
committerTrevor Spiteri <tspiteri@ieee.org>2020-06-29 10:36:55 +0200
commit2a84e313df095fd0e81b9348b68bd9b1d1caa551 (patch)
treef5e12f2f2626c3fa5cee95b49488abb9cece337f
parent056d925167318636fcf975c8ffb81efebdc9bca3 (diff)
downloadrust-2a84e313df095fd0e81b9348b68bd9b1d1caa551.tar.gz
rust-2a84e313df095fd0e81b9348b68bd9b1d1caa551.zip
stabilize const_ascii_ctype_on_intrinsics
-rw-r--r--src/libcore/char/methods.rs30
-rw-r--r--src/libcore/lib.rs1
-rw-r--r--src/libcore/num/mod.rs30
-rw-r--r--src/test/ui/consts/ascii_ctype.rs2
4 files changed, 40 insertions, 23 deletions
diff --git a/src/libcore/char/methods.rs b/src/libcore/char/methods.rs
index dd2f01c679f..ffffad25321 100644
--- a/src/libcore/char/methods.rs
+++ b/src/libcore/char/methods.rs
@@ -1225,7 +1225,8 @@ impl char {
     /// assert!(!esc.is_ascii_alphabetic());
     /// ```
     #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
-    #[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
+    #[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.46.0")]
+    #[cfg_attr(bootstrap, allow_internal_unstable(const_if_match))]
     #[inline]
     pub const fn is_ascii_alphabetic(&self) -> bool {
         match *self {
@@ -1261,7 +1262,8 @@ impl char {
     /// assert!(!esc.is_ascii_uppercase());
     /// ```
     #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
-    #[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
+    #[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.46.0")]
+    #[cfg_attr(bootstrap, allow_internal_unstable(const_if_match))]
     #[inline]
     pub const fn is_ascii_uppercase(&self) -> bool {
         match *self {
@@ -1297,7 +1299,8 @@ impl char {
     /// assert!(!esc.is_ascii_lowercase());
     /// ```
     #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
-    #[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
+    #[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.46.0")]
+    #[cfg_attr(bootstrap, allow_internal_unstable(const_if_match))]
     #[inline]
     pub const fn is_ascii_lowercase(&self) -> bool {
         match *self {
@@ -1336,7 +1339,8 @@ impl char {
     /// assert!(!esc.is_ascii_alphanumeric());
     /// ```
     #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
-    #[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
+    #[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.46.0")]
+    #[cfg_attr(bootstrap, allow_internal_unstable(const_if_match))]
     #[inline]
     pub const fn is_ascii_alphanumeric(&self) -> bool {
         match *self {
@@ -1372,7 +1376,8 @@ impl char {
     /// assert!(!esc.is_ascii_digit());
     /// ```
     #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
-    #[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
+    #[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.46.0")]
+    #[cfg_attr(bootstrap, allow_internal_unstable(const_if_match))]
     #[inline]
     pub const fn is_ascii_digit(&self) -> bool {
         match *self {
@@ -1411,7 +1416,8 @@ impl char {
     /// assert!(!esc.is_ascii_hexdigit());
     /// ```
     #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
-    #[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
+    #[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.46.0")]
+    #[cfg_attr(bootstrap, allow_internal_unstable(const_if_match))]
     #[inline]
     pub const fn is_ascii_hexdigit(&self) -> bool {
         match *self {
@@ -1451,7 +1457,8 @@ impl char {
     /// assert!(!esc.is_ascii_punctuation());
     /// ```
     #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
-    #[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
+    #[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.46.0")]
+    #[cfg_attr(bootstrap, allow_internal_unstable(const_if_match))]
     #[inline]
     pub const fn is_ascii_punctuation(&self) -> bool {
         match *self {
@@ -1487,7 +1494,8 @@ impl char {
     /// assert!(!esc.is_ascii_graphic());
     /// ```
     #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
-    #[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
+    #[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.46.0")]
+    #[cfg_attr(bootstrap, allow_internal_unstable(const_if_match))]
     #[inline]
     pub const fn is_ascii_graphic(&self) -> bool {
         match *self {
@@ -1540,7 +1548,8 @@ impl char {
     /// assert!(!esc.is_ascii_whitespace());
     /// ```
     #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
-    #[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
+    #[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.46.0")]
+    #[cfg_attr(bootstrap, allow_internal_unstable(const_if_match))]
     #[inline]
     pub const fn is_ascii_whitespace(&self) -> bool {
         match *self {
@@ -1578,7 +1587,8 @@ impl char {
     /// assert!(esc.is_ascii_control());
     /// ```
     #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
-    #[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
+    #[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.46.0")]
+    #[cfg_attr(bootstrap, allow_internal_unstable(const_if_match))]
     #[inline]
     pub const fn is_ascii_control(&self) -> bool {
         match *self {
diff --git a/src/libcore/lib.rs b/src/libcore/lib.rs
index a156edd5160..54eb496fb6e 100644
--- a/src/libcore/lib.rs
+++ b/src/libcore/lib.rs
@@ -70,7 +70,6 @@
 #![feature(bound_cloned)]
 #![feature(cfg_target_has_atomic)]
 #![feature(concat_idents)]
-#![feature(const_ascii_ctype_on_intrinsics)]
 #![feature(const_alloc_layout)]
 #![feature(const_discriminant)]
 #![cfg_attr(bootstrap, feature(const_if_match))]
diff --git a/src/libcore/num/mod.rs b/src/libcore/num/mod.rs
index 00860476d9c..d3dbe2443ec 100644
--- a/src/libcore/num/mod.rs
+++ b/src/libcore/num/mod.rs
@@ -4671,7 +4671,8 @@ impl u8 {
     /// assert!(!esc.is_ascii_alphabetic());
     /// ```
     #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
-    #[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
+    #[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.46.0")]
+    #[cfg_attr(bootstrap, allow_internal_unstable(const_if_match))]
     #[inline]
     pub const fn is_ascii_alphabetic(&self) -> bool {
         matches!(*self, b'A'..=b'Z' | b'a'..=b'z')
@@ -4704,7 +4705,8 @@ impl u8 {
     /// assert!(!esc.is_ascii_uppercase());
     /// ```
     #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
-    #[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
+    #[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.46.0")]
+    #[cfg_attr(bootstrap, allow_internal_unstable(const_if_match))]
     #[inline]
     pub const fn is_ascii_uppercase(&self) -> bool {
         matches!(*self, b'A'..=b'Z')
@@ -4737,7 +4739,8 @@ impl u8 {
     /// assert!(!esc.is_ascii_lowercase());
     /// ```
     #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
-    #[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
+    #[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.46.0")]
+    #[cfg_attr(bootstrap, allow_internal_unstable(const_if_match))]
     #[inline]
     pub const fn is_ascii_lowercase(&self) -> bool {
         matches!(*self, b'a'..=b'z')
@@ -4773,7 +4776,8 @@ impl u8 {
     /// assert!(!esc.is_ascii_alphanumeric());
     /// ```
     #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
-    #[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
+    #[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.46.0")]
+    #[cfg_attr(bootstrap, allow_internal_unstable(const_if_match))]
     #[inline]
     pub const fn is_ascii_alphanumeric(&self) -> bool {
         matches!(*self, b'0'..=b'9' | b'A'..=b'Z' | b'a'..=b'z')
@@ -4806,7 +4810,8 @@ impl u8 {
     /// assert!(!esc.is_ascii_digit());
     /// ```
     #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
-    #[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
+    #[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.46.0")]
+    #[cfg_attr(bootstrap, allow_internal_unstable(const_if_match))]
     #[inline]
     pub const fn is_ascii_digit(&self) -> bool {
         matches!(*self, b'0'..=b'9')
@@ -4842,7 +4847,8 @@ impl u8 {
     /// assert!(!esc.is_ascii_hexdigit());
     /// ```
     #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
-    #[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
+    #[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.46.0")]
+    #[cfg_attr(bootstrap, allow_internal_unstable(const_if_match))]
     #[inline]
     pub const fn is_ascii_hexdigit(&self) -> bool {
         matches!(*self, b'0'..=b'9' | b'A'..=b'F' | b'a'..=b'f')
@@ -4879,7 +4885,8 @@ impl u8 {
     /// assert!(!esc.is_ascii_punctuation());
     /// ```
     #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
-    #[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
+    #[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.46.0")]
+    #[cfg_attr(bootstrap, allow_internal_unstable(const_if_match))]
     #[inline]
     pub const fn is_ascii_punctuation(&self) -> bool {
         matches!(*self, b'!'..=b'/' | b':'..=b'@' | b'['..=b'`' | b'{'..=b'~')
@@ -4912,7 +4919,8 @@ impl u8 {
     /// assert!(!esc.is_ascii_graphic());
     /// ```
     #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
-    #[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
+    #[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.46.0")]
+    #[cfg_attr(bootstrap, allow_internal_unstable(const_if_match))]
     #[inline]
     pub const fn is_ascii_graphic(&self) -> bool {
         matches!(*self, b'!'..=b'~')
@@ -4962,7 +4970,8 @@ impl u8 {
     /// assert!(!esc.is_ascii_whitespace());
     /// ```
     #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
-    #[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
+    #[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.46.0")]
+    #[cfg_attr(bootstrap, allow_internal_unstable(const_if_match))]
     #[inline]
     pub const fn is_ascii_whitespace(&self) -> bool {
         matches!(*self, b'\t' | b'\n' | b'\x0C' | b'\r' | b' ')
@@ -4997,7 +5006,8 @@ impl u8 {
     /// assert!(esc.is_ascii_control());
     /// ```
     #[stable(feature = "ascii_ctype_on_intrinsics", since = "1.24.0")]
-    #[rustc_const_unstable(feature = "const_ascii_ctype_on_intrinsics", issue = "68983")]
+    #[rustc_const_stable(feature = "const_ascii_ctype_on_intrinsics", since = "1.46.0")]
+    #[cfg_attr(bootstrap, allow_internal_unstable(const_if_match))]
     #[inline]
     pub const fn is_ascii_control(&self) -> bool {
         matches!(*self, b'\0'..=b'\x1F' | b'\x7F')
diff --git a/src/test/ui/consts/ascii_ctype.rs b/src/test/ui/consts/ascii_ctype.rs
index 25b270ee49c..ef2f7322f27 100644
--- a/src/test/ui/consts/ascii_ctype.rs
+++ b/src/test/ui/consts/ascii_ctype.rs
@@ -1,7 +1,5 @@
 // run-pass
 
-#![feature(const_ascii_ctype_on_intrinsics)]
-
 macro_rules! suite {
     ( $( $fn:ident => [$a:ident, $A:ident, $nine:ident, $dot:ident, $space:ident]; )* ) => {
         $(