@@ -1311,7 +1311,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
13111311 let path = self . tcx . def_path_str ( trait_ref. skip_binder ( ) . def_id ) ;
13121312
13131313 let ty = match item. kind {
1314- ty:: AssocKind :: Const | ty:: AssocKind :: Type => rcvr_ty ,
1314+ ty:: AssocKind :: Const | ty:: AssocKind :: Type => impl_ty ,
13151315 ty:: AssocKind :: Fn => self
13161316 . tcx
13171317 . fn_sig ( item. def_id )
@@ -1329,6 +1329,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
13291329 err,
13301330 path,
13311331 ty,
1332+ impl_ty,
13321333 item. kind ,
13331334 self . tcx . def_kind_descr ( item. kind . as_def_kind ( ) , item. def_id ) ,
13341335 sugg_span,
@@ -1365,6 +1366,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
13651366 err,
13661367 path,
13671368 rcvr_ty,
1369+ rcvr_ty,
13681370 item. kind ,
13691371 self . tcx . def_kind_descr ( item. kind . as_def_kind ( ) , item. def_id ) ,
13701372 sugg_span,
@@ -3107,6 +3109,7 @@ fn print_disambiguation_help<'tcx>(
31073109 err : & mut Diagnostic ,
31083110 trait_name : String ,
31093111 rcvr_ty : Ty < ' _ > ,
3112+ self_ty : Ty < ' _ > ,
31103113 kind : ty:: AssocKind ,
31113114 def_kind_descr : & ' static str ,
31123115 span : Span ,
@@ -3133,13 +3136,13 @@ fn print_disambiguation_help<'tcx>(
31333136 . join( ", " ) ,
31343137 ) ;
31353138 let trait_name = if !fn_has_self_parameter {
3136- format ! ( "<{rcvr_ty } as {trait_name}>" )
3139+ format ! ( "<{self_ty } as {trait_name}>" )
31373140 } else {
31383141 trait_name
31393142 } ;
31403143 ( span, format ! ( "{trait_name}::{item_name}{args}" ) )
31413144 } else {
3142- ( span. with_hi ( item_name. span . lo ( ) ) , format ! ( "<{rcvr_ty } as {trait_name}>::" ) )
3145+ ( span. with_hi ( item_name. span . lo ( ) ) , format ! ( "<{self_ty } as {trait_name}>::" ) )
31433146 } ;
31443147 err. span_suggestion_verbose (
31453148 span,
0 commit comments