View all comments
Feature gate: #![feature(ascii_char)] #![feature(ascii_char_variants)]
This is a tracking issue for the ascii::Char type from rust-lang/libs-team#179
https://doc.rust-lang.org/nightly/std/ascii/enum.Char.html
Public API
// core::ascii
#[repr(u8)]
enum Char {
Null = 0,
…
Tilde = 127,
}
impl Debug for Char { … }
impl Display for Char { … }
impl Default for Char { ... }
impl Step for Char { ... } // so `Range<Char>` is an Iterator
impl Char {
const fn from_u8(x: u8) -> Option<Self>;
const unsafe fn from_u8_unchecked(x: u8) -> Self;
const fn digit(d: u8) -> Option<Self>;
const unsafe fn digit_unchecked(d: u8) -> Self;
const fn as_u8(self) -> u8;
const fn as_char(self) -> char;
const fn as_str(&self) -> &str;
}
impl [Char] {
const fn as_str(&self) -> &str;
const fn as_bytes(&self) -> &[u8];
}
impl From<Char> for u8 { … }
impl From<Char> for char { … }
impl From<&[Char]> for &str { … }
// core::array
impl<const N: usize> [u8; N] {
const fn as_ascii(&self) -> Option<&[ascii::Char; N]>;
const unsafe fn as_ascii_unchecked(&self) -> &[ascii::Char; N];
}
// core::char
impl char {
const fn as_ascii(&self) -> Option<ascii::Char>;
}
// core::num
impl u8 {
const fn as_ascii(&self) -> Option<ascii::Char>;
}
// core::slice
impl [u8] {
const fn as_ascii(&self) -> Option<&[ascii::Char]>;
const unsafe fn as_ascii_unchecked(&self) -> &[ascii::Char];
}
// core::str
impl str {
const fn as_ascii(&self) -> Option<&[ascii::Char]>;
}
// alloc::String
impl FromIterator<core::ascii::Char> for String { ... }
impl<'a> FromIterator<&'a core::ascii::Char> for String { ... }
impl<'a> FromIterator<core::ascii::Char> for Cow<'a, str> {
Steps / History
Unresolved Questions
View all comments
Feature gate:
#![feature(ascii_char)]#![feature(ascii_char_variants)]This is a tracking issue for the
ascii::Chartype from rust-lang/libs-team#179https://doc.rust-lang.org/nightly/std/ascii/enum.Char.html
Public API
Steps / History
ascii::Char(ACP#179) #111009[u8]::is_ascii(unstably) #111222ascii::Charmethods fromas_toto_#114641DefaultforAsciiChar#121024FromIteratorimpls forascii::Chars toStrings #141445Unresolved Questions
charandCharmight be too confusing.Debugimpl work?Debugimpl forascii::Charmatch that ofchar#115434as-casting from it a good or bad feature?char::to_u32, justas u32for it.as_asciimethods take&selffor consistency withis_ascii. Should they takeselfinstead where possible, as the usually-better option, or stick with&selffor the consistency?Footnotes
https://std-dev-guide.rust-lang.org/feature-lifecycle/stabilization.html ↩