@@ -1013,7 +1013,8 @@ pub(super) fn const_conditions<'tcx>(
10131013 Node :: Item ( item) => match item. kind {
10141014 hir:: ItemKind :: Impl ( impl_) => ( impl_. generics , None , false ) ,
10151015 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, _) => {
10171018 ( generics, Some ( ( item. owner_id . def_id , supertraits) ) , false )
10181019 }
10191020 _ => bug ! ( "const_conditions called on wrong item: {def_id:?}" ) ,
@@ -1123,13 +1124,14 @@ pub(super) fn explicit_implied_const_bounds<'tcx>(
11231124 span_bug ! ( tcx. def_span( def_id) , "RPITIT in impl should not have item bounds" )
11241125 }
11251126 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+ ) ,
11331135 Node :: TraitItem ( hir:: TraitItem { kind : hir:: TraitItemKind :: Type ( ..) , .. } )
11341136 | Node :: OpaqueTy ( _) => {
11351137 explicit_item_bounds_with_filter ( tcx, def_id, PredicateFilter :: ConstIfConst )
0 commit comments