@@ -44,7 +44,7 @@ pub(super) fn compare_impl_item(
4444
4545 match impl_item. kind {
4646 ty:: AssocKind :: Fn { .. } => compare_impl_method ( tcx, impl_item, trait_item, impl_trait_ref) ,
47- ty:: AssocKind :: Type => compare_impl_ty ( tcx, impl_item, trait_item, impl_trait_ref) ,
47+ ty:: AssocKind :: Type { .. } => compare_impl_ty ( tcx, impl_item, trait_item, impl_trait_ref) ,
4848 ty:: AssocKind :: Const => compare_impl_const ( tcx, impl_item, trait_item, impl_trait_ref) ,
4949 }
5050}
@@ -1703,7 +1703,7 @@ fn compare_generic_param_kinds<'tcx>(
17031703 trait_item : ty:: AssocItem ,
17041704 delay : bool ,
17051705) -> Result < ( ) , ErrorGuaranteed > {
1706- assert_eq ! ( impl_item. kind , trait_item. kind ) ;
1706+ assert_eq ! ( impl_item. as_tag ( ) , trait_item. as_tag ( ) ) ;
17071707
17081708 let ty_const_params_of = |def_id| {
17091709 tcx. generics_of ( def_id) . own_params . iter ( ) . filter ( |param| {
@@ -2235,16 +2235,19 @@ fn param_env_with_gat_bounds<'tcx>(
22352235 // of the RPITITs associated with the same body. This is because checking
22362236 // the item bounds of RPITITs often involves nested RPITITs having to prove
22372237 // bounds about themselves.
2238- let impl_tys_to_install = match impl_ty. opt_rpitit_info {
2239- None => vec ! [ impl_ty] ,
2240- Some (
2241- ty:: ImplTraitInTraitData :: Impl { fn_def_id }
2242- | ty:: ImplTraitInTraitData :: Trait { fn_def_id, .. } ,
2243- ) => tcx
2238+ let impl_tys_to_install = match impl_ty. kind {
2239+ ty:: AssocKind :: Type {
2240+ opt_rpitit_info :
2241+ Some (
2242+ ty:: ImplTraitInTraitData :: Impl { fn_def_id }
2243+ | ty:: ImplTraitInTraitData :: Trait { fn_def_id, .. } ,
2244+ ) ,
2245+ } => tcx
22442246 . associated_types_for_impl_traits_in_associated_fn ( fn_def_id)
22452247 . iter ( )
22462248 . map ( |def_id| tcx. associated_item ( * def_id) )
22472249 . collect ( ) ,
2250+ _ => vec ! [ impl_ty] ,
22482251 } ;
22492252
22502253 for impl_ty in impl_tys_to_install {
0 commit comments