@@ -27,6 +27,7 @@ use rustc_middle::mir::tcx::PlaceTy;
2727use rustc_middle:: mir:: visit:: { NonMutatingUseContext , PlaceContext , Visitor } ;
2828use rustc_middle:: mir:: AssertKind ;
2929use rustc_middle:: mir:: * ;
30+ use rustc_middle:: traits:: query:: NoSolution ;
3031use rustc_middle:: ty:: adjustment:: PointerCast ;
3132use rustc_middle:: ty:: cast:: CastTy ;
3233use rustc_middle:: ty:: subst:: { SubstsRef , UserSubsts } ;
@@ -42,7 +43,7 @@ use rustc_target::abi::{FieldIdx, FIRST_VARIANT};
4243use rustc_trait_selection:: traits:: query:: type_op:: custom:: scrape_region_constraints;
4344use rustc_trait_selection:: traits:: query:: type_op:: custom:: CustomTypeOp ;
4445use rustc_trait_selection:: traits:: query:: type_op:: { TypeOp , TypeOpOutput } ;
45- use rustc_trait_selection :: traits :: query :: Fallible ;
46+
4647use rustc_trait_selection:: traits:: PredicateObligation ;
4748
4849use rustc_mir_dataflow:: impls:: MaybeInitializedPlaces ;
@@ -1133,7 +1134,7 @@ impl<'a, 'tcx> TypeChecker<'a, 'tcx> {
11331134 sup : Ty < ' tcx > ,
11341135 locations : Locations ,
11351136 category : ConstraintCategory < ' tcx > ,
1136- ) -> Fallible < ( ) > {
1137+ ) -> Result < ( ) , NoSolution > {
11371138 // Use this order of parameters because the sup type is usually the
11381139 // "expected" type in diagnostics.
11391140 self . relate_types ( sup, ty:: Variance :: Contravariant , sub, locations, category)
@@ -1146,7 +1147,7 @@ impl<'a, 'tcx> TypeChecker<'a, 'tcx> {
11461147 found : Ty < ' tcx > ,
11471148 locations : Locations ,
11481149 category : ConstraintCategory < ' tcx > ,
1149- ) -> Fallible < ( ) > {
1150+ ) -> Result < ( ) , NoSolution > {
11501151 self . relate_types ( expected, ty:: Variance :: Invariant , found, locations, category)
11511152 }
11521153
@@ -1158,7 +1159,7 @@ impl<'a, 'tcx> TypeChecker<'a, 'tcx> {
11581159 user_ty : & UserTypeProjection ,
11591160 locations : Locations ,
11601161 category : ConstraintCategory < ' tcx > ,
1161- ) -> Fallible < ( ) > {
1162+ ) -> Result < ( ) , NoSolution > {
11621163 let annotated_type = self . user_type_annotations [ user_ty. base ] . inferred_ty ;
11631164 trace ! ( ?annotated_type) ;
11641165 let mut curr_projected_ty = PlaceTy :: from_ty ( annotated_type) ;
0 commit comments