diff options
Diffstat (limited to 'crates')
| -rw-r--r-- | crates/hir_expand/src/builtin_macro.rs | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/crates/hir_expand/src/builtin_macro.rs b/crates/hir_expand/src/builtin_macro.rs index 6fbb9570a..eb57ea7d6 100644 --- a/crates/hir_expand/src/builtin_macro.rs +++ b/crates/hir_expand/src/builtin_macro.rs | |||
| @@ -182,25 +182,10 @@ fn assert_expand( | |||
| 182 | // ```, | 182 | // ```, |
| 183 | // which is wrong but useful. | 183 | // which is wrong but useful. |
| 184 | 184 | ||
| 185 | let mut args = Vec::new(); | 185 | let args = parse_exprs_with_sep(tt, ','); |
| 186 | let mut current = Vec::new(); | ||
| 187 | for tt in tt.token_trees.iter().cloned() { | ||
| 188 | match tt { | ||
| 189 | tt::TokenTree::Leaf(tt::Leaf::Punct(p)) if p.char == ',' => { | ||
| 190 | args.push(current); | ||
| 191 | current = Vec::new(); | ||
| 192 | } | ||
| 193 | _ => { | ||
| 194 | current.push(tt); | ||
| 195 | } | ||
| 196 | } | ||
| 197 | } | ||
| 198 | if !current.is_empty() { | ||
| 199 | args.push(current); | ||
| 200 | } | ||
| 201 | 186 | ||
| 202 | let arg_tts = args.into_iter().flat_map(|arg| { | 187 | let arg_tts = args.into_iter().flat_map(|arg| { |
| 203 | quote! { &(##arg), } | 188 | quote! { &(#arg), } |
| 204 | }.token_trees).collect::<Vec<_>>(); | 189 | }.token_trees).collect::<Vec<_>>(); |
| 205 | 190 | ||
| 206 | let expanded = quote! { | 191 | let expanded = quote! { |
