fmt_refs! { Debug, Display, Octal, Binary, LowerHex, UpperHex, LowerExp, UpperExp }
+// Note: This macro is a temporary hack that can be remove once we are building with a compiler
+// that supports `!`
+macro_rules! argh {
+ () => {
+ #[unstable(feature = "bang_type", issue = "35121")]
+ impl Debug for ! {
+ fn fmt(&self, _: &mut Formatter) -> Result {
+ *self
+ }
+ }
+
+ #[unstable(feature = "bang_type", issue = "35121")]
+ impl Display for ! {
+ fn fmt(&self, _: &mut Formatter) -> Result {
+ *self
+ }
+ }
+ }
+}
+
+#[cfg(not(stage0))]
+argh!();
+
#[stable(feature = "rust1", since = "1.0.0")]
impl Debug for bool {
fn fmt(&self, f: &mut Formatter) -> Result {
f.write_char('"')?;
let mut from = 0;
for (i, c) in self.char_indices() {
- let esc = c.escape_default();
+ let esc = c.escape_debug();
// If char needs escaping, flush backlog so far and write, else skip
if esc.len() != 1 {
f.write_str(&self[from..i])?;
impl Debug for char {
fn fmt(&self, f: &mut Formatter) -> Result {
f.write_char('\'')?;
- for c in self.escape_default() {
+ for c in self.escape_debug() {
f.write_char(c)?
}
f.write_char('\'')