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