diff --git a/crates/proc-macro-srv/src/tests/mod.rs b/crates/proc-macro-srv/src/tests/mod.rs index 4f4fbeae1c60..ad3d9eef957f 100644 --- a/crates/proc-macro-srv/src/tests/mod.rs +++ b/crates/proc-macro-srv/src/tests/mod.rs @@ -228,7 +228,7 @@ fn test_derive_error() { IDENT 1 compile_error PUNCT 1 ! [joint] GROUP () 1 1 1 - LITER 1 Str #[derive(DeriveError)] struct S {field 58 u32} + LITER 1 Str #[derive(DeriveError)] struct S {field : u32} PUNCT 1 ; [alone] "#]], expect![[r#" @@ -242,9 +242,9 @@ fn test_derive_error() { IDENT 42:Root[0000, 0]@0..13#ROOT2024 compile_error PUNCT 42:Root[0000, 0]@13..14#ROOT2024 ! [joint] - GROUP () 42:Root[0000, 0]@14..15#ROOT2024 42:Root[0000, 0]@63..64#ROOT2024 42:Root[0000, 0]@14..64#ROOT2024 - LITER 42:Root[0000, 0]@15..63#ROOT2024 Str #[derive(DeriveError)] struct S {field 58 u32} - PUNCT 42:Root[0000, 0]@64..65#ROOT2024 ; [alone] + GROUP () 42:Root[0000, 0]@14..15#ROOT2024 42:Root[0000, 0]@62..63#ROOT2024 42:Root[0000, 0]@14..63#ROOT2024 + LITER 42:Root[0000, 0]@15..62#ROOT2024 Str #[derive(DeriveError)] struct S {field : u32} + PUNCT 42:Root[0000, 0]@63..64#ROOT2024 ; [alone] "#]], ); } diff --git a/crates/proc-macro-srv/src/token_stream.rs b/crates/proc-macro-srv/src/token_stream.rs index 931ed12c99ff..e134a47f8c97 100644 --- a/crates/proc-macro-srv/src/token_stream.rs +++ b/crates/proc-macro-srv/src/token_stream.rs @@ -475,7 +475,7 @@ fn display_token_tree( } TokenTree::Punct(Punct { ch, joint, span: _ }) => { *emit_whitespace = !*joint; - write!(f, "{ch}")?; + write!(f, "{}", *ch as char)?; } TokenTree::Ident(Ident { sym, is_raw, span: _ }) => { if *is_raw { @@ -745,14 +745,10 @@ mod tests { use super::*; #[test] - fn roundtrip() { - let token_stream = TokenStream::from_str("struct T {\"string\"}", ()).unwrap(); - assert_eq!(token_stream.to_string(), "struct T {\"string\"}"); - } - - #[test] - fn ident_ts_no_trailing_whitespace_to_string() { - let token_stream = TokenStream::from_str("this_is_an_ident", ()).unwrap(); - assert_eq!(token_stream.to_string(), "this_is_an_ident"); + fn ts_to_string() { + let token_stream = + TokenStream::from_str("{} () [] <> ;/., \"gfhdgfuiofghd\" 0f32 r#\"dff\"# 'r#lt", ()) + .unwrap(); + assert_eq!(token_stream.to_string(), "{}()[]<> ;/., \"gfhdgfuiofghd\"0f32 r#\"dff\"#'r#lt"); } }