Rollup merge of #121024 - joseluis:feat-asciichar-default, r=scottmcm

implement `Default` for `AsciiChar`

This implements `Default` for `AsciiChar` in order to match `char`'s implementation.

From all the different possible ways to do this I think the clearest one is to have both `char` and `AsciiChar` impls together.

I've also updated the doc-comment of the default variant since rustdoc doesn't seem to indicate it otherwise. Probably the text could be improved, though. I couldn't find any similar examples in the codebase and suggestions are welcomed.

r? `@scottmcm`
This commit is contained in:
Oli Scherer 2024-02-14 11:53:40 +01:00 committed by GitHub
commit c1a80211f5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 4 additions and 1 deletions

View File

@ -58,7 +58,7 @@
#[unstable(feature = "ascii_char", issue = "110998")]
#[repr(u8)]
pub enum AsciiChar {
/// U+0000
/// U+0000 (The default variant)
#[unstable(feature = "ascii_char_variants", issue = "110998")]
Null = 0,
/// U+0001

View File

@ -2,6 +2,8 @@
#![stable(feature = "rust1", since = "1.0.0")]
use crate::ascii::Char as AsciiChar;
/// A trait for giving a type a useful default value.
///
/// Sometimes, you want to fall back to some kind of default value, and
@ -158,6 +160,7 @@ fn default() -> $t {
default_impl! { (), (), "Returns the default value of `()`" }
default_impl! { bool, false, "Returns the default value of `false`" }
default_impl! { char, '\x00', "Returns the default value of `\\x00`" }
default_impl! { AsciiChar, AsciiChar::Null, "Returns the default value of `Null`" }
default_impl! { usize, 0, "Returns the default value of `0`" }
default_impl! { u8, 0, "Returns the default value of `0`" }