bors
e2b3676733
Auto merge of #114586 - oli-obk:patch_tait_rpit_order_check, r=lcnr,compiler-errors
...
Bubble up opaque <eq> opaque operations instead of picking an order
In case we are in `Bubble` mode (meaning every opaque type that is defined in the current crate is treated as if it were in its defining scope), we don't try to register an opaque type as the hidden type of another opaque type, but instead bubble up an obligation to equate them at the query caller site. Usually that means we have a `DefiningAnchor::Bind` and thus can reliably figure out whether an opaque type is in its defining scope. Where we can't, we'll error out, so the default is sound.
With this change we start using `AliasTyEq` predicates in the old solver, too.
fixes https://github.com/rust-lang/rust/issues/108498
But also regresses `tests/ui/impl-trait/anon_scope_creep.rs`. Our use of `Bubble` for `check_opaque_type_well_formed` is going to keep biting us.
r? `@lcnr` `@compiler-errors`
2023-09-11 19:01:38 +00:00
..
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-02-23 10:27:06 -07:00
2023-09-07 01:31:33 +00:00
2023-08-27 22:03:16 +00:00
2023-03-22 21:12:40 -07:00
2023-08-14 15:25:20 +02:00
2023-05-25 02:45:14 +00:00
2023-05-25 02:45:14 +00:00
2023-04-12 16:17:31 +00:00
2023-04-12 16:17:31 +00:00
2023-04-12 16:17:31 +00:00
2023-09-11 16:53:39 +00:00
2023-09-11 16:53:39 +00:00
2023-08-28 03:16:48 -07:00
2023-08-28 03:16:48 -07:00
2023-01-11 09:32:08 +00:00
2023-08-27 22:03:16 +00:00
2023-08-27 22:03:16 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-07-27 04:00:49 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 21:40:39 +00:00
2023-02-16 15:14:45 +11:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-06-18 22:52:30 +00:00
2023-06-18 22:52:30 +00:00
2023-06-18 22:52:30 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-07-07 13:13:18 +00:00
2023-07-14 12:35:33 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-06-11 00:19:56 +00:00
2023-06-11 00:19:56 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-05-18 01:53:01 +00:00
2023-05-18 01:53:01 +00:00
2023-02-22 09:44:26 +08:00
2023-01-11 09:32:08 +00:00
2023-01-30 21:51:33 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-06-27 23:31:06 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-05-13 10:51:21 +02:00
2023-05-13 10:51:21 +02:00
2023-05-13 10:51:21 +02:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-15 19:46:20 +00:00
2023-08-11 03:15:41 +00:00
2023-08-11 03:15:41 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-03-03 05:02:34 +00:00
2023-07-30 17:15:55 +02:00
2023-07-30 17:15:55 +02:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 21:30:10 +00:00
2023-01-11 21:30:10 +00:00
2023-01-11 09:32:08 +00:00
2023-04-06 23:01:40 -04:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-05-12 10:26:50 +00:00
2023-06-22 15:00:12 +00:00
2023-07-07 13:13:18 +00:00
2023-07-07 13:13:18 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-04-20 15:06:17 -03:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-04-12 16:17:31 +00:00
2023-01-11 09:32:08 +00:00
2023-01-27 20:10:17 +00:00
2023-01-27 18:58:13 +00:00
2023-01-27 18:58:13 +00:00
2023-04-12 16:17:31 +00:00
2023-07-03 21:40:04 +00:00
2023-07-03 21:40:04 +00:00
2023-04-12 16:17:31 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-08-30 11:06:46 +00:00
2023-08-30 11:06:46 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-08-14 15:25:20 +02:00
2023-08-14 15:25:20 +02:00
2023-08-14 15:25:20 +02:00
2023-08-14 15:25:20 +02:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-02-13 16:23:23 +01:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-07-15 22:02:16 +00:00
2023-05-16 16:02:17 +00:00
2023-05-16 16:02:17 +00:00
2023-05-16 16:02:17 +00:00
2023-08-27 22:03:16 +00:00
2023-08-27 22:03:16 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-08-30 11:06:46 +00:00
2023-08-30 11:06:46 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-08-08 09:39:59 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-05-31 17:45:45 +00:00
2023-05-31 17:45:45 +00:00
2023-01-11 09:32:08 +00:00
2023-03-03 05:02:34 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-02-22 21:52:26 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 19:46:45 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 19:46:45 +00:00
2023-01-11 09:32:08 +00:00
2023-06-16 19:39:48 +00:00
2023-03-23 06:19:52 +00:00
2023-01-11 09:32:08 +00:00
2023-06-16 19:39:48 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-06-16 19:39:48 +00:00
2023-03-23 06:19:52 +00:00
2023-01-11 09:32:08 +00:00
2023-03-03 05:02:34 +00:00
2023-01-11 09:32:08 +00:00
2023-08-04 15:11:09 +00:00
2023-08-04 15:11:09 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-04-12 22:50:10 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-06-27 21:36:15 +00:00
2023-07-27 15:51:02 +00:00
2023-08-02 15:38:00 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-30 20:12:19 +00:00
2023-05-18 01:53:01 +00:00
2023-05-18 01:53:01 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 19:46:45 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-07-06 11:37:21 +02:00
2023-01-21 05:49:36 +00:00
2023-01-21 05:49:36 +00:00
2023-01-11 09:32:08 +00:00
2023-07-06 11:37:21 +02:00
2023-07-06 11:37:21 +02:00
2023-07-06 11:37:21 +02:00
2023-07-06 11:37:21 +02:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-06-16 19:39:48 +00:00
2023-01-11 09:32:08 +00:00
2023-06-22 15:51:19 +00:00
2023-06-16 19:39:48 +00:00
2023-06-16 19:39:48 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-03-03 05:02:34 +00:00
2023-01-11 09:32:08 +00:00
2023-07-07 16:02:25 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-06-26 01:11:44 +09:00
2023-01-11 09:32:08 +00:00
2023-03-03 05:02:34 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-04-12 16:17:31 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-04-12 22:50:10 +00:00
2023-06-26 19:14:49 +00:00
2023-06-26 19:14:49 +00:00
2023-01-11 09:32:08 +00:00
2023-01-30 20:12:19 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-08-28 01:05:34 +00:00
2023-08-28 01:05:34 +00:00
2023-04-25 19:53:09 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-04-12 16:17:31 +00:00
2023-04-12 16:17:31 +00:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00