Skip to content

Commit 8c89e7f

Browse files
committed
Make {char, str}::escape_debug and impl Debug for {char, str} consistent
1 parent d7aa35e commit 8c89e7f

File tree

3 files changed

+4
-16
lines changed

3 files changed

+4
-16
lines changed

src/liballoc/tests/str.rs

+1
Original file line numberDiff line numberDiff line change
@@ -999,6 +999,7 @@ fn test_escape_debug() {
999999
assert_eq!("\u{10000}\u{10ffff}".escape_debug(), "\u{10000}\\u{10ffff}");
10001000
assert_eq!("ab\u{200b}".escape_debug(), "ab\\u{200b}");
10011001
assert_eq!("\u{10d4ea}\r".escape_debug(), "\\u{10d4ea}\\r");
1002+
assert_eq!("\u{301}a\u{301}\u{e000}".escape_debug(), "\\u{301}a\\u{301}bé\\u{e000}");
10021003
}
10031004

10041005
#[test]

src/libcore/fmt/mod.rs

+2-8
Original file line numberDiff line numberDiff line change
@@ -1844,14 +1844,8 @@ impl Display for str {
18441844
impl Debug for char {
18451845
fn fmt(&self, f: &mut Formatter) -> Result {
18461846
f.write_char('\'')?;
1847-
if self.is_nonspacing_mark() {
1848-
for c in self.escape_unicode() {
1849-
f.write_char(c)?
1850-
}
1851-
} else {
1852-
for c in self.escape_debug() {
1853-
f.write_char(c)?
1854-
}
1847+
for c in self.escape_debug() {
1848+
f.write_char(c)?
18551849
}
18561850
f.write_char('\'')
18571851
}

src/libcore/tests/char.rs

+1-8
Original file line numberDiff line numberDiff line change
@@ -181,19 +181,12 @@ fn test_escape_debug() {
181181
assert_eq!(string('\u{ff}'), "\u{ff}");
182182
assert_eq!(string('\u{11b}'), "\u{11b}");
183183
assert_eq!(string('\u{1d4b6}'), "\u{1d4b6}");
184+
assert_eq!(string('\u{301}'), "'\\u{301}'"); // combining character
184185
assert_eq!(string('\u{200b}'),"\\u{200b}"); // zero width space
185186
assert_eq!(string('\u{e000}'), "\\u{e000}"); // private use 1
186187
assert_eq!(string('\u{100000}'), "\\u{100000}"); // private use 2
187188
}
188189

189-
#[test]
190-
fn test_debug() {
191-
assert_eq!(format!("{:?}", 'a'), "'a'"); // ASCII character
192-
assert_eq!(format!("{:?}", 'é'), "'é'"); // printable character
193-
assert_eq!(format!("{:?}", '\u{301}'), "'\\u{301}'"); // combining character
194-
assert_eq!(format!("{:?}", '\u{e000}'), "'\\u{e000}'"); // private use 1
195-
}
196-
197190
#[test]
198191
fn test_escape_default() {
199192
fn string(c: char) -> String {

0 commit comments

Comments
 (0)