Simplify Debug representation of Ident
diff --git a/src/lib.rs b/src/lib.rs
index 4e5577d..9092569 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -439,7 +439,13 @@
// so don't bother with an extra layer of indirection
match *self {
TokenTree::Group(ref t) => t.fmt(f),
- TokenTree::Ident(ref t) => t.fmt(f),
+ TokenTree::Ident(ref t) => {
+ let mut debug = f.debug_struct("Ident");
+ debug.field("sym", &format_args!("{}", t));
+ #[cfg(any(feature = "nightly", procmacro2_semver_exempt))]
+ debug.field("span", &t.span());
+ debug.finish()
+ }
TokenTree::Punct(ref t) => t.fmt(f),
TokenTree::Literal(ref t) => t.fmt(f),
}
diff --git a/src/stable.rs b/src/stable.rs
index 62dc670..8091415 100644
--- a/src/stable.rs
+++ b/src/stable.rs
@@ -515,12 +515,23 @@
}
impl fmt::Debug for Ident {
+ // Ident(proc_macro), Ident(r#union)
+ #[cfg(not(procmacro2_semver_exempt))]
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ let mut debug = f.debug_tuple("Ident");
+ debug.field(&format_args!("{}", self));
+ debug.finish()
+ }
+
+ // Ident {
+ // sym: proc_macro,
+ // span: bytes(128..138)
+ // }
+ #[cfg(procmacro2_semver_exempt)]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
let mut debug = f.debug_struct("Ident");
- debug.field("sym", &format_args!("{}", self.as_str()));
- #[cfg(procmacro2_semver_exempt)]
+ debug.field("sym", &format_args!("{}", self));
debug.field("span", &self.span);
- debug.field("raw", &self.raw);
debug.finish()
}
}