diff options
| author | Lukas Wirth <lukastw97@gmail.com> | 2024-08-29 08:41:43 +0200 |
|---|---|---|
| committer | Lukas Wirth <lukastw97@gmail.com> | 2024-08-29 08:45:35 +0200 |
| commit | 03d67458eef99fc23ef8b0bf701bc75e6f672d1c (patch) | |
| tree | 4a082533b3361e51249ecdbdf9956d21a4c48646 /src | |
| parent | 14ec1202e5ac51cd9c91ca5bb1f68a6cf688e3aa (diff) | |
| download | rust-03d67458eef99fc23ef8b0bf701bc75e6f672d1c.tar.gz rust-03d67458eef99fc23ef8b0bf701bc75e6f672d1c.zip | |
fix: Fix TokenStream::to_string implementation dropping quotation marks
Diffstat (limited to 'src')
| -rw-r--r-- | src/tools/rust-analyzer/crates/proc-macro-srv/src/server_impl/rust_analyzer_span.rs | 9 | ||||
| -rw-r--r-- | src/tools/rust-analyzer/crates/tt/src/lib.rs | 2 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/tools/rust-analyzer/crates/proc-macro-srv/src/server_impl/rust_analyzer_span.rs b/src/tools/rust-analyzer/crates/proc-macro-srv/src/server_impl/rust_analyzer_span.rs index bfc3ea5d03a..d508c19dd71 100644 --- a/src/tools/rust-analyzer/crates/proc-macro-srv/src/server_impl/rust_analyzer_span.rs +++ b/src/tools/rust-analyzer/crates/proc-macro-srv/src/server_impl/rust_analyzer_span.rs @@ -507,12 +507,17 @@ mod tests { close: span, kind: tt::DelimiterKind::Brace, }, - token_trees: Box::new([]), + token_trees: Box::new([tt::TokenTree::Leaf(tt::Leaf::Literal(tt::Literal { + kind: tt::LitKind::Str, + symbol: Symbol::intern("string"), + suffix: None, + span, + }))]), }), ], }; - assert_eq!(s.to_string(), "struct T {}"); + assert_eq!(s.to_string(), "struct T {\"string\"}"); } #[test] diff --git a/src/tools/rust-analyzer/crates/tt/src/lib.rs b/src/tools/rust-analyzer/crates/tt/src/lib.rs index 7b72f9ff108..8d915d0a51e 100644 --- a/src/tools/rust-analyzer/crates/tt/src/lib.rs +++ b/src/tools/rust-analyzer/crates/tt/src/lib.rs @@ -603,7 +603,7 @@ pub fn pretty<S>(tkns: &[TokenTree<S>]) -> String { TokenTree::Leaf(Leaf::Ident(ident)) => { format!("{}{}", ident.is_raw.as_str(), ident.sym) } - TokenTree::Leaf(Leaf::Literal(literal)) => literal.symbol.as_str().to_owned(), + TokenTree::Leaf(Leaf::Literal(literal)) => format!("{literal}"), TokenTree::Leaf(Leaf::Punct(punct)) => format!("{}", punct.char), TokenTree::Subtree(subtree) => { let content = pretty(&subtree.token_trees); |
