Unnamed repository; edit this file 'description' to name the repository.
-rw-r--r--crates/proc-macro-srv/src/tests/mod.rs8
-rw-r--r--crates/proc-macro-srv/src/token_stream.rs16
2 files changed, 10 insertions, 14 deletions
diff --git a/crates/proc-macro-srv/src/tests/mod.rs b/crates/proc-macro-srv/src/tests/mod.rs
index 4f4fbeae1c..ad3d9eef95 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 931ed12c99..e134a47f8c 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<S>(
}
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");
}
}