diff options
Diffstat (limited to 'crates/ra_hir_expand/src/builtin_macro.rs')
-rw-r--r-- | crates/ra_hir_expand/src/builtin_macro.rs | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/crates/ra_hir_expand/src/builtin_macro.rs b/crates/ra_hir_expand/src/builtin_macro.rs index f3f959ac6..f2bb0bddb 100644 --- a/crates/ra_hir_expand/src/builtin_macro.rs +++ b/crates/ra_hir_expand/src/builtin_macro.rs | |||
@@ -155,14 +155,11 @@ fn compile_error_expand( | |||
155 | tt: &tt::Subtree, | 155 | tt: &tt::Subtree, |
156 | ) -> Result<tt::Subtree, mbe::ExpandError> { | 156 | ) -> Result<tt::Subtree, mbe::ExpandError> { |
157 | if tt.count() == 1 { | 157 | if tt.count() == 1 { |
158 | match &tt.token_trees[0] { | 158 | if let tt::TokenTree::Leaf(tt::Leaf::Literal(it)) = &tt.token_trees[0] { |
159 | tt::TokenTree::Leaf(tt::Leaf::Literal(it)) => { | 159 | let s = it.text.as_str(); |
160 | let s = it.text.as_str(); | 160 | if s.contains('"') { |
161 | if s.contains(r#"""#) { | 161 | return Ok(quote! { loop { #it }}); |
162 | return Ok(quote! { loop { #it }}); | ||
163 | } | ||
164 | } | 162 | } |
165 | _ => {} | ||
166 | }; | 163 | }; |
167 | } | 164 | } |
168 | 165 | ||
@@ -222,7 +219,7 @@ mod tests { | |||
222 | let (db, file_id) = TestDB::with_single_file(&s); | 219 | let (db, file_id) = TestDB::with_single_file(&s); |
223 | let parsed = db.parse(file_id); | 220 | let parsed = db.parse(file_id); |
224 | let macro_calls: Vec<_> = | 221 | let macro_calls: Vec<_> = |
225 | parsed.syntax_node().descendants().filter_map(|it| ast::MacroCall::cast(it)).collect(); | 222 | parsed.syntax_node().descendants().filter_map(ast::MacroCall::cast).collect(); |
226 | 223 | ||
227 | let ast_id_map = db.ast_id_map(file_id.into()); | 224 | let ast_id_map = db.ast_id_map(file_id.into()); |
228 | 225 | ||