Dylan DPC
64f6c00772
Rollup merge of #112443 - compiler-errors:next-solver-opportunistically-resolve-regions, r=lcnr
...
Opportunistically resolve regions in new solver
Use `opportunistic_resolve_var` during canonicalization to collapse some regions.
We have to start using `CanonicalVarValues::is_identity_modulo_regions`. We also have to modify that function to consider responses like `['static, ^0, '^1, ^2]` to be an "identity" response, since because we opportunistically resolve regions, there's no longer a 1:1 mapping between canonical var values and bound var indices in the response...
There's one nasty side-effect -- one test (`tests/ui/dyn-star/param-env-infer.rs`) starts to ICE because the certainty goes from `Yes` to `Maybe(Overflow)`... Not exactly sure why, though? Putting this up for discussion/investigation.
r? ```@lcnr```
2023-06-16 14:46:15 +05:30
..
2023-04-30 00:06:26 +08:00
2023-04-25 00:08:35 +02:00
2023-04-25 00:08:35 +02:00
2023-05-08 03:36:30 +00:00
2023-05-05 22:40:04 +12:00
2023-03-12 14:57:38 +01:00
2023-06-11 00:27:03 +00:00
2023-06-11 22:18:23 +00:00
2023-01-11 21:30:32 +00:00
2023-06-12 20:24:48 +08:00
2023-06-12 20:24:48 +08:00
2023-06-12 20:24:48 +08:00
2023-05-29 22:33:46 +03:00
2023-06-02 19:22:25 +00:00
2023-04-03 11:08:14 +08:00
2023-04-13 22:08:07 -05:00
2023-04-28 20:28:56 -05:00
2023-04-27 01:34:03 +00:00
2023-01-30 20:12:19 +00:00
2023-01-30 20:12:19 +00:00
2023-06-06 12:00:33 +02:00
2023-04-12 22:50:10 +00:00
2023-01-15 19:46:20 +00:00
2023-01-12 22:25:30 +00:00
2023-01-30 21:51:33 +00:00
2023-01-15 22:17:54 +13:00
2023-06-12 20:24:48 +08:00
2023-05-31 17:45:45 +00:00
2023-05-06 18:40:47 +02:00
2023-05-12 00:10:52 +00:00
2023-02-21 05:21:07 +00:00
2023-06-14 09:28:54 +02:00
2023-04-16 23:09:57 +00:00
2023-04-15 16:11:42 -07:00
2023-05-24 19:35:59 -03:00
2023-05-30 12:40:35 +02:00
2023-05-30 13:03:40 +02:00
2023-04-03 09:24:11 +02:00
2023-01-30 20:12:19 +00:00
2023-04-15 16:11:42 -07:00
2023-01-30 20:12:21 +00:00
2023-04-28 14:42:03 +02:00
2023-06-15 12:01:38 +02:00
2023-06-01 14:45:18 +00:00
2023-06-12 20:24:48 +08:00
2023-01-11 09:32:13 +00:00
2023-04-15 16:11:42 -07:00
2023-05-12 00:10:52 +00:00
2023-05-08 17:58:01 -03:00
2023-01-18 04:07:39 +00:00
2023-01-16 11:09:53 +01:00
2023-05-05 01:22:17 -05:00
2023-02-22 08:40:47 -07:00
2023-01-30 20:12:19 +00:00
2023-04-12 22:50:10 +00:00
2023-04-27 01:34:03 +00:00
2023-05-26 06:55:06 +10:00
2023-04-27 01:34:03 +00:00
2023-02-09 14:52:54 +00:00
2023-05-12 00:10:52 +00:00
2023-06-05 21:00:08 +00:00
2023-05-21 14:16:41 +02:00
2023-05-04 18:06:07 +00:00
2023-06-15 12:01:38 +02:00
2023-05-31 17:45:45 +00:00
2023-05-26 13:15:15 -04:00
2023-06-10 00:06:34 +08:00
2023-05-09 20:49:32 +02:00
2023-06-08 12:33:17 +00:00
2023-06-12 01:02:19 +03:00
2023-02-28 14:58:14 -08:00
2023-05-21 14:16:41 +02:00
2023-02-23 19:05:13 +09:00
2023-05-11 21:41:07 +01:00
2023-06-12 15:15:45 +08:00
2023-05-05 13:02:43 -07:00
2023-06-12 20:24:48 +08:00
2023-05-11 12:14:57 -07:00
2023-05-08 17:58:01 -03:00
2023-06-13 21:54:11 +00:00
2023-06-12 20:24:48 +08:00
2023-01-30 20:12:19 +00:00
2023-01-30 20:12:21 +00:00
2023-01-30 20:12:21 +00:00
2023-05-21 14:16:41 +02:00
2023-06-15 12:01:38 +02:00
2023-06-12 20:24:48 +08:00
2023-04-03 15:59:21 +00:00
2023-01-11 09:32:13 +00:00
2023-06-12 20:24:48 +08:00
2023-06-10 00:06:34 +08:00
2023-02-09 10:26:49 +00:00
2023-06-14 05:20:31 +00:00
2023-06-05 21:20:51 +00:00
2023-05-27 18:49:07 +08:00
2023-01-30 20:12:19 +00:00
2023-02-13 18:41:18 +00:00
2023-06-08 16:30:05 +00:00
2023-04-11 17:45:42 +00:00
2023-06-01 02:28:31 +08:00
2023-02-09 12:29:43 +09:00
2023-05-03 20:09:10 +03:00
2023-04-12 22:50:10 +00:00
2023-04-13 22:08:07 -05:00
2023-06-12 20:24:48 +08:00
2023-05-16 18:50:26 +02:00
2023-04-25 15:25:19 +00:00
2023-06-15 17:59:13 +08:00
2023-06-09 21:57:37 +00:00
2023-01-30 20:12:19 +00:00
2023-05-13 21:34:05 +00:00
2023-03-12 13:19:46 +00:00
2023-03-07 21:26:19 +01:00
2023-06-13 15:32:42 -04:00
2023-06-08 16:30:05 +00:00
2023-06-10 14:46:11 -04:00
2023-05-21 17:48:36 -07:00
2023-04-15 07:46:46 +00:00
2023-05-29 19:58:11 +03:00
2023-06-15 22:04:56 +02:00
2023-05-25 17:40:46 +00:00
2023-05-31 16:51:25 +00:00
2023-06-12 20:24:48 +08:00
2023-04-12 22:50:10 +00:00
2023-03-22 11:37:57 +01:00
2023-06-15 06:50:56 -04:00
2023-04-18 07:14:01 -05:00
2023-05-26 13:15:15 -04:00
2023-06-12 20:24:48 +08:00
2023-06-05 08:34:06 +00:00
2023-06-10 00:06:34 +08:00
2023-01-13 20:50:34 +00:00
2023-04-12 22:50:10 +00:00
2023-03-22 21:12:40 -07:00
2023-02-16 11:42:35 -03:00
2023-05-08 03:36:30 +00:00
2023-04-12 22:50:10 +00:00
2023-05-05 18:54:06 +01:00
2023-06-12 20:24:48 +08:00
2023-06-15 22:04:57 +02:00
2023-04-03 09:24:11 +02:00
2023-03-22 21:12:40 -07:00
2023-05-03 20:09:10 +03:00
2023-06-01 14:45:18 +00:00
2023-05-12 00:10:52 +00:00
2023-06-15 12:01:38 +02:00
2023-04-12 22:50:10 +00:00
2023-05-21 14:16:41 +02:00
2023-01-12 22:25:30 +00:00
2023-06-15 12:01:38 +02:00
2023-04-29 13:01:46 +01:00
2023-05-27 16:35:16 +02:00
2023-06-12 15:15:45 +08:00
2023-05-31 14:02:57 +00:00
2023-01-11 14:09:14 -08:00
2023-06-12 20:24:48 +08:00
2023-05-21 13:37:32 +02:00
2023-06-12 01:02:19 +03:00
2023-06-10 05:07:53 +00:00
2023-05-27 00:18:28 +02:00
2023-06-12 01:02:19 +03:00
2023-01-11 21:30:10 +00:00
2023-02-02 05:49:07 +00:00
2023-05-08 03:42:21 +00:00
2023-06-12 20:24:48 +08:00
2023-06-09 21:57:37 +00:00
2023-02-22 13:08:13 +00:00
2023-05-21 13:37:32 +02:00
2023-04-12 22:50:10 +00:00
2023-05-01 15:05:39 +01:00
2023-06-15 18:19:09 +08:00
2023-01-30 20:12:19 +00:00
2023-06-12 20:24:48 +08:00
2023-04-03 09:24:11 +02:00
2023-06-13 23:04:00 -07:00
2023-04-12 22:50:10 +00:00
2023-03-30 22:56:52 +02:00
2023-06-01 23:22:54 +00:00
2023-05-23 03:23:52 +00:00
2023-04-12 22:50:10 +00:00
2023-05-05 14:58:52 -07:00
2023-02-14 03:46:43 +00:00
2023-05-09 12:33:45 +05:30
2023-06-06 18:43:20 +00:00
2023-04-29 13:01:46 +01:00
2023-04-19 19:13:45 +00:00
2023-06-01 14:45:18 +00:00
2023-04-04 15:34:40 +00:00
2023-04-13 22:10:26 -05:00
2023-01-19 21:09:25 +01:00
2023-05-08 03:36:30 +00:00
2023-06-05 21:00:08 +00:00
2023-05-29 12:07:41 -03:00
2023-06-15 12:01:38 +02:00
2023-06-01 18:21:42 +00:00
2023-03-29 18:04:44 -04:00
2023-04-30 00:06:26 +08:00
2023-05-24 11:18:20 -05:00
2023-05-26 18:55:02 +01:00
2023-04-26 22:34:30 -04:00
2023-04-26 21:02:56 +02:00
2023-04-07 08:33:56 +01:00
2023-05-26 12:16:30 -05:00
2023-06-15 12:01:38 +02:00
2023-06-16 14:46:15 +05:30
2023-06-12 16:56:21 -07:00
2023-05-24 14:52:19 -07:00
2023-02-07 19:17:24 +00:00
2023-05-21 14:16:41 +02:00
2023-06-12 20:24:48 +08:00
2023-06-12 20:24:48 +08:00
2023-05-16 11:39:39 +02:00
2023-04-20 18:01:07 +00:00
2023-06-01 11:09:43 +05:30
2023-02-22 08:40:47 -07:00
2023-06-14 18:10:30 +02:00
2023-05-01 16:15:17 +08:00
2023-05-26 16:01:29 +01:00
2023-05-18 09:29:48 +08:00
2023-05-24 19:16:07 +00:00
2023-06-15 12:01:38 +02:00
2023-04-02 19:42:30 -04:00
2023-04-12 22:50:10 +00:00
2023-06-13 15:48:57 +02:00
2023-06-15 12:01:38 +02:00
2023-06-13 07:02:28 +02:00
2023-04-29 13:01:46 +01:00
2023-05-16 20:30:48 +00:00
2023-04-02 19:42:30 -04:00
2023-04-02 19:42:30 -04:00
2023-05-12 00:10:52 +00:00
2023-05-24 19:35:59 -03:00
2023-03-01 13:26:59 +01:00
2023-01-19 19:35:49 +00:00
2023-06-12 20:24:48 +08:00
2023-05-09 20:35:39 -04:00
2023-05-09 20:35:39 -04:00
2023-01-15 19:46:20 +00:00
2023-01-15 19:46:20 +00:00
2023-05-27 16:35:16 +02:00
2023-02-18 02:42:43 +00:00
2023-03-12 13:19:46 +00:00
2023-03-12 13:19:46 +00:00
2023-02-23 10:27:06 -07:00
2023-02-23 10:27:06 -07:00
2023-05-21 13:37:32 +02:00
2023-01-30 20:12:19 +00:00
2023-01-30 20:12:19 +00:00
2023-05-09 20:35:39 -04:00
2023-06-12 20:24:48 +08:00
2023-01-16 20:24:01 +13:00
2023-03-08 00:00:18 +00:00
2023-03-08 00:00:18 +00:00
2023-02-22 08:40:47 -07:00
2023-04-13 22:10:26 -05:00
2023-01-27 05:28:52 -08:00
2023-01-27 05:28:52 -08:00
2023-01-27 05:28:52 -08:00
2023-01-27 05:28:52 -08:00
2023-01-27 05:28:52 -08:00
2023-01-27 05:28:52 -08:00
2023-05-21 14:16:41 +02:00
2023-05-21 14:16:41 +02:00
2023-05-10 19:36:02 +02:00
2023-04-08 21:32:55 +00:00
2023-04-08 21:32:55 +00:00
2023-04-13 22:08:07 -05:00
2023-04-13 22:08:07 -05:00
2023-04-13 22:10:26 -05:00
2023-04-13 22:08:07 -05:00
2023-04-13 22:08:07 -05:00
2023-04-13 22:08:07 -05:00
2023-04-13 22:08:07 -05:00
2023-02-13 18:41:18 +00:00
2023-04-17 22:40:31 -05:00
2023-04-17 22:40:31 -05:00
2023-04-17 22:40:31 -05:00
2023-04-13 22:08:07 -05:00
2023-01-30 20:12:19 +00:00
2023-01-30 20:12:19 +00:00
2023-04-12 22:50:10 +00:00
2023-01-30 20:12:21 +00:00
2023-04-25 00:08:33 +02:00
2023-03-08 00:00:18 +00:00
2023-03-08 00:00:18 +00:00
2023-05-04 15:39:21 +02:00
2023-05-03 20:09:10 +03:00
2023-01-30 20:12:19 +00:00
2023-01-30 21:51:33 +00:00
2023-06-12 20:24:48 +08:00
2023-02-23 10:27:06 -07:00
2023-02-23 10:27:06 -07:00
2023-03-26 17:30:29 +00:00
2023-02-04 20:13:16 -08:00
2023-02-04 20:13:16 -08:00
2023-02-04 20:13:16 -08:00
2023-06-08 16:17:30 +00:00
2023-01-15 19:46:20 +00:00
2023-02-28 15:59:47 +01:00
2023-06-12 20:24:48 +08:00