@@ -348,7 +348,7 @@ impl<'a> LateResolutionVisitor<'a, '_> {
348
348
_ => false ,
349
349
} ;
350
350
351
- let mut bad_struct_syntax_suggestion = || {
351
+ let mut bad_struct_syntax_suggestion = |def_id : DefId | {
352
352
let ( followed_by_brace, closing_brace) = self . followed_by_brace ( span) ;
353
353
let mut suggested = false ;
354
354
match source {
@@ -374,6 +374,9 @@ impl<'a> LateResolutionVisitor<'a, '_> {
374
374
_ => { }
375
375
}
376
376
if !suggested {
377
+ if let Some ( span) = self . r . definitions . opt_span ( def_id) {
378
+ err. span_label ( span, & format ! ( "`{}` defined here" , path_str) ) ;
379
+ }
377
380
err. span_label (
378
381
span,
379
382
format ! ( "did you mean `{} {{ /* fields */ }}`?" , path_str) ,
@@ -437,18 +440,21 @@ impl<'a> LateResolutionVisitor<'a, '_> {
437
440
) ;
438
441
}
439
442
} else {
440
- bad_struct_syntax_suggestion ( ) ;
443
+ bad_struct_syntax_suggestion ( def_id ) ;
441
444
}
442
445
}
443
- ( Res :: Def ( DefKind :: Union , _ ) , _) |
444
- ( Res :: Def ( DefKind :: Variant , _ ) , _) |
445
- ( Res :: Def ( DefKind :: Ctor ( _, CtorKind :: Fictive ) , _ ) , _) if ns == ValueNS => {
446
- bad_struct_syntax_suggestion ( ) ;
446
+ ( Res :: Def ( DefKind :: Union , def_id ) , _) |
447
+ ( Res :: Def ( DefKind :: Variant , def_id ) , _) |
448
+ ( Res :: Def ( DefKind :: Ctor ( _, CtorKind :: Fictive ) , def_id ) , _) if ns == ValueNS => {
449
+ bad_struct_syntax_suggestion ( def_id ) ;
447
450
}
448
- ( Res :: Def ( DefKind :: Ctor ( _, CtorKind :: Fn ) , _) , _) if ns == ValueNS => {
451
+ ( Res :: Def ( DefKind :: Ctor ( _, CtorKind :: Fn ) , def_id) , _) if ns == ValueNS => {
452
+ if let Some ( span) = self . r . definitions . opt_span ( def_id) {
453
+ err. span_label ( span, & format ! ( "`{}` defined here" , path_str) ) ;
454
+ }
449
455
err. span_label (
450
456
span,
451
- format ! ( "did you mean `{} ( /* fields */ )`?" , path_str) ,
457
+ format ! ( "did you mean `{}( /* fields */ )`?" , path_str) ,
452
458
) ;
453
459
}
454
460
( Res :: SelfTy ( ..) , _) if ns == ValueNS => {
0 commit comments