@@ -255,7 +255,6 @@ impl<'a, 'tcx> InferCtxtExt<'tcx> for InferCtxt<'a, 'tcx> {
255
255
return ;
256
256
}
257
257
258
- // TODO: forall
259
258
match obligation. predicate . ignore_qualifiers ( tcx) . skip_binder ( ) . kind ( ) {
260
259
ty:: PredicateKind :: ForAll ( _) => {
261
260
bug ! ( "unexpected predicate: {:?}" , obligation. predicate)
@@ -1455,7 +1454,6 @@ impl<'a, 'tcx> InferCtxtPrivExt<'tcx> for InferCtxt<'a, 'tcx> {
1455
1454
return ;
1456
1455
}
1457
1456
1458
- // TODO: forall
1459
1457
let mut err = match predicate. ignore_qualifiers ( self . tcx ) . skip_binder ( ) . kind ( ) {
1460
1458
& ty:: PredicateKind :: Trait ( data, _) => {
1461
1459
let trait_ref = ty:: Binder :: bind ( data. trait_ref ) ;
@@ -1557,8 +1555,6 @@ impl<'a, 'tcx> InferCtxtPrivExt<'tcx> for InferCtxt<'a, 'tcx> {
1557
1555
}
1558
1556
1559
1557
ty:: PredicateKind :: WellFormed ( arg) => {
1560
- // TODO: forall
1561
-
1562
1558
// Same hacky approach as above to avoid deluging user
1563
1559
// with error messages.
1564
1560
if arg. references_error ( ) || self . tcx . sess . has_errors ( ) {
@@ -1578,12 +1574,11 @@ impl<'a, 'tcx> InferCtxtPrivExt<'tcx> for InferCtxt<'a, 'tcx> {
1578
1574
}
1579
1575
}
1580
1576
1581
- ty:: PredicateKind :: Subtype ( ref data) => {
1577
+ ty:: PredicateKind :: Subtype ( data) => {
1582
1578
if data. references_error ( ) || self . tcx . sess . has_errors ( ) {
1583
1579
// no need to overload user in such cases
1584
1580
return ;
1585
1581
}
1586
- // TODO: forall
1587
1582
let & SubtypePredicate { a_is_expected : _, a, b } = data;
1588
1583
// both must be type variables, or the other would've been instantiated
1589
1584
assert ! ( a. is_ty_var( ) && b. is_ty_var( ) ) ;
0 commit comments