@@ -44,7 +44,7 @@ pub(super) fn compare_impl_item(
44
44
45
45
match impl_item. kind {
46
46
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) ,
48
48
ty:: AssocKind :: Const => compare_impl_const ( tcx, impl_item, trait_item, impl_trait_ref) ,
49
49
}
50
50
}
@@ -1703,7 +1703,7 @@ fn compare_generic_param_kinds<'tcx>(
1703
1703
trait_item : ty:: AssocItem ,
1704
1704
delay : bool ,
1705
1705
) -> Result < ( ) , ErrorGuaranteed > {
1706
- assert_eq ! ( impl_item. kind , trait_item. kind ) ;
1706
+ assert_eq ! ( impl_item. as_tag ( ) , trait_item. as_tag ( ) ) ;
1707
1707
1708
1708
let ty_const_params_of = |def_id| {
1709
1709
tcx. generics_of ( def_id) . own_params . iter ( ) . filter ( |param| {
@@ -2235,16 +2235,19 @@ fn param_env_with_gat_bounds<'tcx>(
2235
2235
// of the RPITITs associated with the same body. This is because checking
2236
2236
// the item bounds of RPITITs often involves nested RPITITs having to prove
2237
2237
// 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
2244
2246
. associated_types_for_impl_traits_in_associated_fn ( fn_def_id)
2245
2247
. iter ( )
2246
2248
. map ( |def_id| tcx. associated_item ( * def_id) )
2247
2249
. collect ( ) ,
2250
+ _ => vec ! [ impl_ty] ,
2248
2251
} ;
2249
2252
2250
2253
for impl_ty in impl_tys_to_install {
0 commit comments