@@ -255,7 +255,6 @@ impl<'a, 'tcx> InferCtxtExt<'tcx> for InferCtxt<'a, 'tcx> {
255255 return ;
256256 }
257257
258- // TODO: forall
259258 match obligation. predicate . ignore_qualifiers ( tcx) . skip_binder ( ) . kind ( ) {
260259 ty:: PredicateKind :: ForAll ( _) => {
261260 bug ! ( "unexpected predicate: {:?}" , obligation. predicate)
@@ -1455,7 +1454,6 @@ impl<'a, 'tcx> InferCtxtPrivExt<'tcx> for InferCtxt<'a, 'tcx> {
14551454 return ;
14561455 }
14571456
1458- // TODO: forall
14591457 let mut err = match predicate. ignore_qualifiers ( self . tcx ) . skip_binder ( ) . kind ( ) {
14601458 & ty:: PredicateKind :: Trait ( data, _) => {
14611459 let trait_ref = ty:: Binder :: bind ( data. trait_ref ) ;
@@ -1557,8 +1555,6 @@ impl<'a, 'tcx> InferCtxtPrivExt<'tcx> for InferCtxt<'a, 'tcx> {
15571555 }
15581556
15591557 ty:: PredicateKind :: WellFormed ( arg) => {
1560- // TODO: forall
1561-
15621558 // Same hacky approach as above to avoid deluging user
15631559 // with error messages.
15641560 if arg. references_error ( ) || self . tcx . sess . has_errors ( ) {
@@ -1578,12 +1574,11 @@ impl<'a, 'tcx> InferCtxtPrivExt<'tcx> for InferCtxt<'a, 'tcx> {
15781574 }
15791575 }
15801576
1581- ty:: PredicateKind :: Subtype ( ref data) => {
1577+ ty:: PredicateKind :: Subtype ( data) => {
15821578 if data. references_error ( ) || self . tcx . sess . has_errors ( ) {
15831579 // no need to overload user in such cases
15841580 return ;
15851581 }
1586- // TODO: forall
15871582 let & SubtypePredicate { a_is_expected : _, a, b } = data;
15881583 // both must be type variables, or the other would've been instantiated
15891584 assert ! ( a. is_ty_var( ) && b. is_ty_var( ) ) ;
0 commit comments