@@ -28,7 +28,7 @@ use rustc_span::{BytePos, Span};
2828use tracing:: debug;
2929
3030use crate :: imports:: { Import , ImportKind , ImportResolver } ;
31- use crate :: late:: Rib ;
31+ use crate :: late:: { PatternSource , Rib } ;
3232use crate :: path_names_to_string;
3333use crate :: { AmbiguityError , AmbiguityErrorMisc , AmbiguityKind , BindingError , Finalize } ;
3434use crate :: { HasGenericParams , MacroRulesScope , Module , ModuleKind , ModuleOrUniformRoot } ;
@@ -896,7 +896,7 @@ impl<'a> Resolver<'a> {
896896 err
897897 }
898898 ResolutionError :: BindingShadowsSomethingUnacceptable {
899- shadowing_binding_descr ,
899+ shadowing_binding ,
900900 name,
901901 participle,
902902 article,
@@ -909,15 +909,18 @@ impl<'a> Resolver<'a> {
909909 span,
910910 E0530 ,
911911 "{}s cannot shadow {}s" ,
912- shadowing_binding_descr ,
912+ shadowing_binding . descr ( ) ,
913913 shadowed_binding_descr,
914914 ) ;
915915 err. span_label (
916916 span,
917917 format ! ( "cannot be named the same as {} {}" , article, shadowed_binding_descr) ,
918918 ) ;
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+ ) => {
921924 err. span_suggestion (
922925 span,
923926 "try specify the pattern arguments" ,
0 commit comments