@@ -1031,7 +1031,8 @@ pub(super) fn const_conditions<'tcx>(
10311031 Node :: Item ( item) => match item. kind {
10321032 hir:: ItemKind :: Impl ( impl_) => ( impl_. generics , None , false ) ,
10331033 hir:: ItemKind :: Fn { generics, .. } => ( generics, None , false ) ,
1034- hir:: ItemKind :: Trait ( _, _, _, _, generics, supertraits, _) => {
1034+ hir:: ItemKind :: TraitAlias ( _, _, generics, supertraits)
1035+ | hir:: ItemKind :: Trait ( _, _, _, _, generics, supertraits, _) => {
10351036 ( generics, Some ( ( item. owner_id . def_id , supertraits) ) , false )
10361037 }
10371038 _ => bug ! ( "const_conditions called on wrong item: {def_id:?}" ) ,
@@ -1143,13 +1144,14 @@ pub(super) fn explicit_implied_const_bounds<'tcx>(
11431144 span_bug ! ( tcx. def_span( def_id) , "RPITIT in impl should not have item bounds" )
11441145 }
11451146 None => match tcx. hir_node_by_def_id ( def_id) {
1146- Node :: Item ( hir:: Item { kind : hir:: ItemKind :: Trait ( ..) , .. } ) => {
1147- implied_predicates_with_filter (
1148- tcx,
1149- def_id. to_def_id ( ) ,
1150- PredicateFilter :: SelfConstIfConst ,
1151- )
1152- }
1147+ Node :: Item ( hir:: Item {
1148+ kind : hir:: ItemKind :: Trait ( ..) | hir:: ItemKind :: TraitAlias ( ..) ,
1149+ ..
1150+ } ) => implied_predicates_with_filter (
1151+ tcx,
1152+ def_id. to_def_id ( ) ,
1153+ PredicateFilter :: SelfConstIfConst ,
1154+ ) ,
11531155 Node :: TraitItem ( hir:: TraitItem { kind : hir:: TraitItemKind :: Type ( ..) , .. } )
11541156 | Node :: OpaqueTy ( _) => {
11551157 explicit_item_bounds_with_filter ( tcx, def_id, PredicateFilter :: ConstIfConst )
0 commit comments