aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_expand/src/builtin_macro.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir_expand/src/builtin_macro.rs')
-rw-r--r--crates/ra_hir_expand/src/builtin_macro.rs13
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