@@ -28,7 +28,7 @@ use rustc_span::{BytePos, Span};
28
28
use tracing:: debug;
29
29
30
30
use crate :: imports:: { Import , ImportKind , ImportResolver } ;
31
- use crate :: late:: Rib ;
31
+ use crate :: late:: { PatternSource , Rib } ;
32
32
use crate :: path_names_to_string;
33
33
use crate :: { AmbiguityError , AmbiguityErrorMisc , AmbiguityKind , BindingError , Finalize } ;
34
34
use crate :: { HasGenericParams , MacroRulesScope , Module , ModuleKind , ModuleOrUniformRoot } ;
@@ -896,7 +896,7 @@ impl<'a> Resolver<'a> {
896
896
err
897
897
}
898
898
ResolutionError :: BindingShadowsSomethingUnacceptable {
899
- shadowing_binding_descr ,
899
+ shadowing_binding ,
900
900
name,
901
901
participle,
902
902
article,
@@ -909,15 +909,18 @@ impl<'a> Resolver<'a> {
909
909
span,
910
910
E0530 ,
911
911
"{}s cannot shadow {}s" ,
912
- shadowing_binding_descr ,
912
+ shadowing_binding . descr ( ) ,
913
913
shadowed_binding_descr,
914
914
) ;
915
915
err. span_label (
916
916
span,
917
917
format ! ( "cannot be named the same as {} {}" , article, shadowed_binding_descr) ,
918
918
) ;
919
- match shadowed_binding {
920
- Res :: Def ( DefKind :: Ctor ( CtorOf :: Variant | CtorOf :: Struct , CtorKind :: Fn ) , _) => {
919
+ match ( shadowing_binding, shadowed_binding) {
920
+ (
921
+ PatternSource :: Match ,
922
+ Res :: Def ( DefKind :: Ctor ( CtorOf :: Variant | CtorOf :: Struct , CtorKind :: Fn ) , _) ,
923
+ ) => {
921
924
err. span_suggestion (
922
925
span,
923
926
"try specify the pattern arguments" ,
0 commit comments