@@ -251,7 +251,7 @@ impl HirDisplay for ProjectionTy {
251251 }
252252
253253 let trait_ = f. db . trait_data ( self . trait_ ( f. db ) ) ;
254- let first_parameter = self . self_type_parameter ( ) . into_displayable (
254+ let first_parameter = self . self_type_parameter ( & Interner ) . into_displayable (
255255 f. db ,
256256 f. max_size ,
257257 f. omit_verbose_types ,
@@ -592,20 +592,21 @@ impl HirDisplay for Ty {
592592 }
593593 TypeParamProvenance :: ArgumentImplTrait => {
594594 let substs = generics. type_params_subst ( f. db ) ;
595- let bounds = f
596- . db
597- . generic_predicates ( id. parent )
598- . into_iter ( )
599- . map ( |pred| pred. clone ( ) . subst ( & substs) )
600- . filter ( |wc| match & wc. skip_binders ( ) {
601- WhereClause :: Implemented ( tr) => tr. self_type_parameter ( ) == self ,
602- WhereClause :: AliasEq ( AliasEq {
603- alias : AliasTy :: Projection ( proj) ,
604- ty : _,
605- } ) => proj. self_type_parameter ( ) == self ,
606- _ => false ,
607- } )
608- . collect :: < Vec < _ > > ( ) ;
595+ let bounds =
596+ f. db . generic_predicates ( id. parent )
597+ . into_iter ( )
598+ . map ( |pred| pred. clone ( ) . subst ( & substs) )
599+ . filter ( |wc| match & wc. skip_binders ( ) {
600+ WhereClause :: Implemented ( tr) => {
601+ tr. self_type_parameter ( & Interner ) == self
602+ }
603+ WhereClause :: AliasEq ( AliasEq {
604+ alias : AliasTy :: Projection ( proj) ,
605+ ty : _,
606+ } ) => proj. self_type_parameter ( & Interner ) == self ,
607+ _ => false ,
608+ } )
609+ . collect :: < Vec < _ > > ( ) ;
609610 write_bounds_like_dyn_trait_with_prefix ( "impl" , & bounds, f) ?;
610611 }
611612 }
@@ -780,7 +781,7 @@ impl TraitRef {
780781 return write ! ( f, "{}" , TYPE_HINT_TRUNCATION ) ;
781782 }
782783
783- self . self_type_parameter ( ) . hir_fmt ( f) ?;
784+ self . self_type_parameter ( & Interner ) . hir_fmt ( f) ?;
784785 if use_as {
785786 write ! ( f, " as " ) ?;
786787 } else {
0 commit comments