diff options
| author | Lzu Tao <taolzu@gmail.com> | 2020-09-04 09:40:20 +0000 |
|---|---|---|
| committer | Lzu Tao <taolzu@gmail.com> | 2020-09-26 05:20:53 +0000 |
| commit | 37cd79cd323a7f1adcad66205c7855fb6c92f062 (patch) | |
| tree | fe4e130da4237342d29c97f53fa6604de027906f | |
| parent | 653b5bf18c962a35bb6d90e13e6681446cc49878 (diff) | |
| download | rust-37cd79cd323a7f1adcad66205c7855fb6c92f062.tar.gz rust-37cd79cd323a7f1adcad66205c7855fb6c92f062.zip | |
Gather all ZST structs of str together
| -rw-r--r-- | library/core/src/str/mod.rs | 48 |
1 files changed, 22 insertions, 26 deletions
diff --git a/library/core/src/str/mod.rs b/library/core/src/str/mod.rs index ada5a4fa39f..f30e4786970 100644 --- a/library/core/src/str/mod.rs +++ b/library/core/src/str/mod.rs @@ -79,16 +79,6 @@ use iter::{MatchesInternal, SplitNInternal}; use validations::truncate_to_char_boundary; -impl_fn_for_zst! { - /// A nameable, cloneable fn type - #[derive(Clone)] - struct LinesAnyMap impl<'a> Fn = |line: &'a str| -> &'a str { - let l = line.len(); - if l > 0 && line.as_bytes()[l - 1] == b'\r' { &line[0 .. l - 1] } - else { line } - }; -} - #[inline(never)] #[cold] #[track_caller] @@ -2425,22 +2415,6 @@ impl str { } } -impl_fn_for_zst! { - #[derive(Clone)] - struct CharEscapeDebugContinue impl Fn = |c: char| -> char::EscapeDebug { - c.escape_debug_ext(false) - }; - - #[derive(Clone)] - struct CharEscapeUnicode impl Fn = |c: char| -> char::EscapeUnicode { - c.escape_unicode() - }; - #[derive(Clone)] - struct CharEscapeDefault impl Fn = |c: char| -> char::EscapeDefault { - c.escape_default() - }; -} - #[stable(feature = "rust1", since = "1.0.0")] impl AsRef<[u8]> for str { #[inline] @@ -2467,6 +2441,28 @@ impl Default for &mut str { } impl_fn_for_zst! { + /// A nameable, cloneable fn type + #[derive(Clone)] + struct LinesAnyMap impl<'a> Fn = |line: &'a str| -> &'a str { + let l = line.len(); + if l > 0 && line.as_bytes()[l - 1] == b'\r' { &line[0 .. l - 1] } + else { line } + }; + + #[derive(Clone)] + struct CharEscapeDebugContinue impl Fn = |c: char| -> char::EscapeDebug { + c.escape_debug_ext(false) + }; + + #[derive(Clone)] + struct CharEscapeUnicode impl Fn = |c: char| -> char::EscapeUnicode { + c.escape_unicode() + }; + #[derive(Clone)] + struct CharEscapeDefault impl Fn = |c: char| -> char::EscapeDefault { + c.escape_default() + }; + #[derive(Clone)] struct IsWhitespace impl Fn = |c: char| -> bool { c.is_whitespace() |
