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()
     }
 }
