@@ -1018,7 +1018,8 @@ pub(super) fn const_conditions<'tcx>(
1018
1018
Node :: Item ( item) => match item. kind {
1019
1019
hir:: ItemKind :: Impl ( impl_) => ( impl_. generics , None , false ) ,
1020
1020
hir:: ItemKind :: Fn { generics, .. } => ( generics, None , false ) ,
1021
- hir:: ItemKind :: Trait ( _, _, _, _, generics, supertraits, _) => {
1021
+ hir:: ItemKind :: TraitAlias ( _, _, generics, supertraits)
1022
+ | hir:: ItemKind :: Trait ( _, _, _, _, generics, supertraits, _) => {
1022
1023
( generics, Some ( ( item. owner_id . def_id , supertraits) ) , false )
1023
1024
}
1024
1025
_ => bug ! ( "const_conditions called on wrong item: {def_id:?}" ) ,
@@ -1128,13 +1129,14 @@ pub(super) fn explicit_implied_const_bounds<'tcx>(
1128
1129
span_bug ! ( tcx. def_span( def_id) , "RPITIT in impl should not have item bounds" )
1129
1130
}
1130
1131
None => match tcx. hir_node_by_def_id ( def_id) {
1131
- Node :: Item ( hir:: Item { kind : hir:: ItemKind :: Trait ( ..) , .. } ) => {
1132
- implied_predicates_with_filter (
1133
- tcx,
1134
- def_id. to_def_id ( ) ,
1135
- PredicateFilter :: SelfConstIfConst ,
1136
- )
1137
- }
1132
+ Node :: Item ( hir:: Item {
1133
+ kind : hir:: ItemKind :: Trait ( ..) | hir:: ItemKind :: TraitAlias ( ..) ,
1134
+ ..
1135
+ } ) => implied_predicates_with_filter (
1136
+ tcx,
1137
+ def_id. to_def_id ( ) ,
1138
+ PredicateFilter :: SelfConstIfConst ,
1139
+ ) ,
1138
1140
Node :: TraitItem ( hir:: TraitItem { kind : hir:: TraitItemKind :: Type ( ..) , .. } )
1139
1141
| Node :: OpaqueTy ( _) => {
1140
1142
explicit_item_bounds_with_filter ( tcx, def_id, PredicateFilter :: ConstIfConst )
0 commit comments