@@ -1344,10 +1344,7 @@ impl<'a, 'tcx> TypeChecker<'a, 'tcx> {
1344
1344
1345
1345
debug ! ( "eq_opaque_type_and_type: equated" ) ;
1346
1346
1347
- Ok ( InferOk {
1348
- value : Some ( opaque_type_map) ,
1349
- obligations : obligations. into_vec ( ) ,
1350
- } )
1347
+ Ok ( InferOk { value : opaque_type_map, obligations : obligations. into_vec ( ) } )
1351
1348
} ,
1352
1349
|| "input_output" . to_string ( ) ,
1353
1350
) ,
@@ -1361,25 +1358,23 @@ impl<'a, 'tcx> TypeChecker<'a, 'tcx> {
1361
1358
// have to solve any bounds (e.g., `-> impl Iterator` needs to
1362
1359
// prove that `T: Iterator` where `T` is the type we
1363
1360
// instantiated it with).
1364
- if let Some ( opaque_type_map) = opaque_type_map {
1365
- for ( opaque_type_key, opaque_decl) in opaque_type_map {
1366
- self . fully_perform_op (
1367
- locations,
1368
- ConstraintCategory :: OpaqueType ,
1369
- CustomTypeOp :: new (
1370
- |infcx| {
1371
- infcx. constrain_opaque_type (
1372
- opaque_type_key,
1373
- & opaque_decl,
1374
- GenerateMemberConstraints :: IfNoStaticBound ,
1375
- universal_region_relations,
1376
- ) ;
1377
- Ok ( InferOk { value : ( ) , obligations : vec ! [ ] } )
1378
- } ,
1379
- || "opaque_type_map" . to_string ( ) ,
1380
- ) ,
1381
- ) ?;
1382
- }
1361
+ for ( opaque_type_key, opaque_decl) in opaque_type_map {
1362
+ self . fully_perform_op (
1363
+ locations,
1364
+ ConstraintCategory :: OpaqueType ,
1365
+ CustomTypeOp :: new (
1366
+ |infcx| {
1367
+ infcx. constrain_opaque_type (
1368
+ opaque_type_key,
1369
+ & opaque_decl,
1370
+ GenerateMemberConstraints :: IfNoStaticBound ,
1371
+ universal_region_relations,
1372
+ ) ;
1373
+ Ok ( InferOk { value : ( ) , obligations : vec ! [ ] } )
1374
+ } ,
1375
+ || "opaque_type_map" . to_string ( ) ,
1376
+ ) ,
1377
+ ) ?;
1383
1378
}
1384
1379
Ok ( ( ) )
1385
1380
}
0 commit comments