about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLzu Tao <taolzu@gmail.com>2020-09-04 09:40:20 +0000
committerLzu Tao <taolzu@gmail.com>2020-09-26 05:20:53 +0000
commit37cd79cd323a7f1adcad66205c7855fb6c92f062 (patch)
treefe4e130da4237342d29c97f53fa6604de027906f
parent653b5bf18c962a35bb6d90e13e6681446cc49878 (diff)
downloadrust-37cd79cd323a7f1adcad66205c7855fb6c92f062.tar.gz
rust-37cd79cd323a7f1adcad66205c7855fb6c92f062.zip
Gather all ZST structs of str together
-rw-r--r--library/core/src/str/mod.rs48
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()