@@ -83,8 +83,10 @@ pub(crate) fn expand_macro(db: &RootDatabase, position: FilePosition) -> Option<
83
83
}
84
84
}
85
85
if let Some ( mac) = ast:: MacroCall :: cast ( node) {
86
+ let mut name = mac. path ( ) ?. segment ( ) ?. name_ref ( ) ?. to_string ( ) ;
87
+ name. push ( '!' ) ;
86
88
break (
87
- mac . path ( ) ? . segment ( ) ? . name_ref ( ) ? . to_string ( ) ,
89
+ name ,
88
90
expand_macro_recur ( & sema, & mac) ?,
89
91
mac. syntax ( ) . parent ( ) . map ( |it| it. kind ( ) ) . unwrap_or ( SyntaxKind :: MACRO_ITEMS ) ,
90
92
) ;
@@ -235,7 +237,7 @@ fn main() {
235
237
}
236
238
"# ,
237
239
expect ! [ [ r#"
238
- bar
240
+ bar!
239
241
5i64 as _"# ] ] ,
240
242
) ;
241
243
}
@@ -252,7 +254,7 @@ fn main() {
252
254
}
253
255
"# ,
254
256
expect ! [ [ r#"
255
- bar
257
+ bar!
256
258
for _ in 0..42{}"# ] ] ,
257
259
) ;
258
260
}
@@ -273,7 +275,7 @@ macro_rules! baz {
273
275
f$0oo!();
274
276
"# ,
275
277
expect ! [ [ r#"
276
- foo
278
+ foo!
277
279
fn b(){}
278
280
"# ] ] ,
279
281
) ;
@@ -294,7 +296,7 @@ macro_rules! foo {
294
296
f$0oo!();
295
297
"# ,
296
298
expect ! [ [ r#"
297
- foo
299
+ foo!
298
300
fn some_thing() -> u32 {
299
301
let a = 0;
300
302
a+10
@@ -328,16 +330,16 @@ fn main() {
328
330
}
329
331
"# ,
330
332
expect ! [ [ r#"
331
- match_ast
332
- {
333
- if let Some(it) = ast::TraitDef::cast(container.clone()){}
334
- else if let Some(it) = ast::ImplDef::cast(container.clone()){}
335
- else {
336
- {
337
- continue
338
- }
339
- }
340
- }"# ] ] ,
333
+ match_ast!
334
+ {
335
+ if let Some(it) = ast::TraitDef::cast(container.clone()){}
336
+ else if let Some(it) = ast::ImplDef::cast(container.clone()){}
337
+ else {
338
+ {
339
+ continue
340
+ }
341
+ }
342
+ }"# ] ] ,
341
343
) ;
342
344
}
343
345
@@ -358,7 +360,7 @@ fn main() {
358
360
}
359
361
"# ,
360
362
expect ! [ [ r#"
361
- match_ast
363
+ match_ast!
362
364
{}"# ] ] ,
363
365
) ;
364
366
}
@@ -383,7 +385,7 @@ fn main() {
383
385
}
384
386
"# ,
385
387
expect ! [ [ r#"
386
- foo
388
+ foo!
387
389
{
388
390
macro_rules! bar {
389
391
() => {
@@ -411,7 +413,7 @@ fn main() {
411
413
}
412
414
"# ,
413
415
expect ! [ [ r#"
414
- foo
416
+ foo!
415
417
"# ] ] ,
416
418
) ;
417
419
}
@@ -433,7 +435,7 @@ fn main() {
433
435
}
434
436
"# ,
435
437
expect ! [ [ r#"
436
- foo
438
+ foo!
437
439
0"# ] ] ,
438
440
) ;
439
441
}
@@ -451,7 +453,7 @@ fn main() {
451
453
}
452
454
"# ,
453
455
expect ! [ [ r#"
454
- foo
456
+ foo!
455
457
fn f<T>(_: &dyn ::std::marker::Copy){}"# ] ] ,
456
458
) ;
457
459
}
0 commit comments