Rollup merge of #132153 - bjoernager:const-char-encode-utf16, r=dtolnay

Stabilise `const_char_encode_utf16`.

Closes: #130660

This PR stabilises the `const_char_encode_utf16` feature gate (i.e. support for `char::encode_utf16` in constant expressions).

~~Note that the linked tracking issue is as of this writing currently awaiting FCP until 2024-11-02.~~
This commit is contained in:
Jubilee 2024-11-05 01:34:22 -08:00 committed by GitHub
commit 1ee6617414
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 5 additions and 3 deletions

View File

@ -711,7 +711,7 @@ impl char {
/// '𝕊'.encode_utf16(&mut b); /// '𝕊'.encode_utf16(&mut b);
/// ``` /// ```
#[stable(feature = "unicode_encode_char", since = "1.15.0")] #[stable(feature = "unicode_encode_char", since = "1.15.0")]
#[rustc_const_unstable(feature = "const_char_encode_utf16", issue = "130660")] #[rustc_const_stable(feature = "const_char_encode_utf16", since = "CURRENT_RUSTC_VERSION")]
#[inline] #[inline]
pub const fn encode_utf16(self, dst: &mut [u16]) -> &mut [u16] { pub const fn encode_utf16(self, dst: &mut [u16]) -> &mut [u16] {
encode_utf16_raw(self as u32, dst) encode_utf16_raw(self as u32, dst)
@ -1819,7 +1819,10 @@ pub const fn encode_utf8_raw(code: u32, dst: &mut [u8]) -> &mut [u8] {
/// Panics if the buffer is not large enough. /// Panics if the buffer is not large enough.
/// A buffer of length 2 is large enough to encode any `char`. /// A buffer of length 2 is large enough to encode any `char`.
#[unstable(feature = "char_internals", reason = "exposed only for libstd", issue = "none")] #[unstable(feature = "char_internals", reason = "exposed only for libstd", issue = "none")]
#[rustc_const_unstable(feature = "const_char_encode_utf16", issue = "130660")] #[cfg_attr(
bootstrap,
rustc_const_stable(feature = "const_char_encode_utf16", since = "CURRENT_RUSTC_VERSION")
)]
#[doc(hidden)] #[doc(hidden)]
#[inline] #[inline]
pub const fn encode_utf16_raw(mut code: u32, dst: &mut [u16]) -> &mut [u16] { pub const fn encode_utf16_raw(mut code: u32, dst: &mut [u16]) -> &mut [u16] {

View File

@ -115,7 +115,6 @@
#![feature(const_align_of_val_raw)] #![feature(const_align_of_val_raw)]
#![feature(const_alloc_layout)] #![feature(const_alloc_layout)]
#![feature(const_black_box)] #![feature(const_black_box)]
#![feature(const_char_encode_utf16)]
#![feature(const_eval_select)] #![feature(const_eval_select)]
#![feature(const_float_methods)] #![feature(const_float_methods)]
#![feature(const_heap)] #![feature(const_heap)]