@@ -197,7 +197,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
197
197
obligations. extend (
198
198
self . infcx
199
199
. at ( & obligation. cause , obligation. param_env )
200
- . eq ( DefineOpaqueTypes :: No , placeholder_trait_predicate, candidate)
200
+ . eq ( DefineOpaqueTypes :: Yes , placeholder_trait_predicate, candidate)
201
201
. map ( |InferOk { obligations, .. } | obligations)
202
202
. map_err ( |_| Unimplemented ) ?,
203
203
) ;
@@ -568,7 +568,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
568
568
nested. extend (
569
569
self . infcx
570
570
. at ( & obligation. cause , obligation. param_env )
571
- . eq ( DefineOpaqueTypes :: No , trait_predicate. trait_ref , upcast_trait_ref)
571
+ . eq ( DefineOpaqueTypes :: Yes , trait_predicate. trait_ref , upcast_trait_ref)
572
572
. map ( |InferOk { obligations, .. } | obligations)
573
573
. map_err ( |_| Unimplemented ) ?,
574
574
) ;
@@ -1195,7 +1195,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
1195
1195
let InferOk { mut obligations, .. } = self
1196
1196
. infcx
1197
1197
. at ( & obligation. cause , obligation. param_env )
1198
- . sup ( DefineOpaqueTypes :: No , target, source_trait)
1198
+ . sup ( DefineOpaqueTypes :: Yes , target, source_trait)
1199
1199
. map_err ( |_| Unimplemented ) ?;
1200
1200
1201
1201
// Register one obligation for 'a: 'b.
@@ -1263,7 +1263,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
1263
1263
let InferOk { obligations, .. } = self
1264
1264
. infcx
1265
1265
. at ( & obligation. cause , obligation. param_env )
1266
- . eq ( DefineOpaqueTypes :: No , b, a)
1266
+ . eq ( DefineOpaqueTypes :: Yes , b, a)
1267
1267
. map_err ( |_| Unimplemented ) ?;
1268
1268
1269
1269
ImplSource :: Builtin ( BuiltinImplSource :: Misc , obligations)
@@ -1311,7 +1311,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
1311
1311
let InferOk { obligations, .. } = self
1312
1312
. infcx
1313
1313
. at ( & obligation. cause , obligation. param_env )
1314
- . eq ( DefineOpaqueTypes :: No , target, new_struct)
1314
+ . eq ( DefineOpaqueTypes :: Yes , target, new_struct)
1315
1315
. map_err ( |_| Unimplemented ) ?;
1316
1316
nested. extend ( obligations) ;
1317
1317
@@ -1344,7 +1344,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
1344
1344
let InferOk { mut obligations, .. } = self
1345
1345
. infcx
1346
1346
. at ( & obligation. cause , obligation. param_env )
1347
- . eq ( DefineOpaqueTypes :: No , target, new_tuple)
1347
+ . eq ( DefineOpaqueTypes :: Yes , target, new_tuple)
1348
1348
. map_err ( |_| Unimplemented ) ?;
1349
1349
1350
1350
// Add a nested `T: Unsize<U>` predicate.
0 commit comments