diff options
| author | Laurenz <laurmaedje@gmail.com> | 2021-08-31 16:25:12 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2021-08-31 16:25:12 +0200 |
| commit | 7f48e8fe6668c5b2fdc62cc70e6bcffb744f411c (patch) | |
| tree | 6ec437098d9f6df511cfbc0805ac51af288c4eec /src/eval/str.rs | |
| parent | 3481d8cc81a2b3a14118869c7f0ffe204ff3efc8 (diff) | |
Make user-facing "debug" representation use Debug instead of Display
Diffstat (limited to 'src/eval/str.rs')
| -rw-r--r-- | src/eval/str.rs | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/eval/str.rs b/src/eval/str.rs index 099a4363..59e0887a 100644 --- a/src/eval/str.rs +++ b/src/eval/str.rs @@ -1,6 +1,6 @@ use std::borrow::Borrow; use std::convert::TryFrom; -use std::fmt::{self, Debug, Display, Formatter, Write}; +use std::fmt::{self, Debug, Formatter, Write}; use std::ops::{Add, AddAssign, Deref}; use crate::diag::StrResult; @@ -10,9 +10,9 @@ use crate::util::EcoString; macro_rules! format_str { ($($tts:tt)*) => {{ use std::fmt::Write; - let mut s = $crate::util::EcoString::new(); + let mut s = $crate::eval::Str::new(); write!(s, $($tts)*).unwrap(); - $crate::eval::Str::from(s) + s }}; } @@ -67,12 +67,6 @@ impl Deref for Str { impl Debug for Str { fn fmt(&self, f: &mut Formatter) -> fmt::Result { - Debug::fmt(&self.0, f) - } -} - -impl Display for Str { - fn fmt(&self, f: &mut Formatter) -> fmt::Result { f.write_char('"')?; for c in self.chars() { match c { @@ -103,6 +97,16 @@ impl AddAssign for Str { } } +impl Write for Str { + fn write_str(&mut self, s: &str) -> fmt::Result { + self.0.write_str(s) + } + + fn write_char(&mut self, c: char) -> fmt::Result { + self.0.write_char(c) + } +} + impl AsRef<str> for Str { fn as_ref(&self) -> &str { self |
