Jacob Pratt
fcb0e9d07a
Rollup merge of #123363 - lcnr:normalizes-to-zero-to-inf, r=BoxyUwU
...
change `NormalizesTo` to fully structurally normalize
notes in https://hackmd.io/wZ016dE4QKGIhrOnHLlThQ
need to also update the dev-guide once this PR lands. in short, the setup is now as follows:
`normalizes-to` internally implements one step normalization, applying that normalization to the `goal.predicate.term` causes the projected term to get recursively normalized. With this `normalizes-to` normalizes until the projected term is rigid, meaning that we normalize as many steps necessary, but at least 1.
To handle rigid aliases, we add another candidate only if the 1 to inf step normalization failed. With this `normalizes-to` is now full structural normalization. We can now change `AliasRelate` to simply emit `normalizes-to` goals for the rhs and lhs.
This avoids the concerns from https://github.com/rust-lang/trait-system-refactor-initiative/issues/103 and generally feels cleaner
2024-04-04 21:16:56 -04:00
..
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-04-04 14:51:16 +02:00
2024-03-20 13:00:34 -04:00
2024-02-16 20:02:50 +00:00
2024-03-28 06:41:22 +00:00
2024-02-16 20:02:50 +00:00
2023-05-25 02:45:14 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-03-12 06:03:43 +00:00
2024-03-12 06:03:43 +00:00
2024-02-16 20:02:50 +00:00
2024-02-26 10:57:46 +01:00
2023-11-24 19:15:52 +01:00
2024-02-26 10:57:46 +01:00
2023-08-28 03:16:48 -07:00
2024-01-30 21:28:18 +00:00
2024-02-16 20:02:50 +00:00
2023-10-26 17:58:02 +00:00
2024-03-11 17:19:37 +00:00
2024-03-10 21:18:41 -04:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-09-08 03:45:36 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-09-08 03:45:36 +00:00
2023-09-08 03:45:36 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 21:04:51 +01:00
2023-09-21 08:17:58 +02:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-01-24 02:53:15 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-03-28 06:41:22 +00:00
2024-03-28 06:41:22 +00:00
2024-03-28 06:41:22 +00:00
2024-03-26 09:26:23 +00:00
2024-03-26 09:26:23 +00:00
2024-03-26 09:26:23 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2023-06-11 00:19:56 +00:00
2023-11-24 19:15:52 +01:00
2024-01-24 16:57:15 +00:00
2024-01-24 16:57:15 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-05-18 01:53:01 +00:00
2024-01-30 21:28:18 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-22 08:03:47 +11:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-03-27 14:02:15 +00:00
2024-03-26 09:26:23 +00:00
2024-03-26 09:26:23 +00:00
2024-03-26 09:26:23 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-07 10:42:01 +08:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-05-13 10:51:21 +02:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-09-08 03:45:36 +00:00
2024-03-20 13:00:34 -04:00
2024-03-20 13:00:34 -04:00
2023-11-24 19:15:52 +01:00
2024-01-09 21:08:16 +00:00
2024-02-16 20:02:50 +00:00
2023-03-03 05:02:34 +00:00
2024-02-28 09:54:44 +00:00
2024-02-28 09:54:44 +00:00
2024-02-28 09:54:44 +00:00
2024-02-16 20:02:50 +00:00
2024-03-22 08:27:14 +01:00
2024-03-22 08:27:14 +01:00
2024-02-16 20:02:50 +00:00
2024-01-09 21:08:16 +00:00
2024-03-27 14:02:15 +00:00
2023-11-24 19:15:52 +01:00
2024-03-20 17:29:58 +00:00
2024-03-20 17:29:58 +00:00
2024-03-20 17:29:58 +00:00
2024-03-20 17:29:58 +00:00
2024-03-28 06:00:26 +00:00
2024-03-28 06:00:26 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-03-08 19:08:13 +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-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2023-04-12 16:17:31 +00:00
2024-01-30 21:28:18 +00:00
2024-02-16 20:02:50 +00:00
2023-10-05 01:04:41 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2023-04-12 16:17:31 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-01-11 09:52:25 +00:00
2024-01-11 09:52:25 +00:00
2023-11-24 19:15:52 +01: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-09-21 22:20:58 +02:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-07-15 22:02:16 +00:00
2024-03-10 21:18:41 -04:00
2024-03-10 21:18:41 -04:00
2024-03-10 21:18:41 -04:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2023-05-31 17:45:45 +00:00
2023-11-24 19:15:52 +01:00
2024-02-08 08:10:43 +00:00
2024-02-08 08:10:43 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-04-04 14:53:31 +00:00
2024-04-04 14:25:45 +00:00
2024-02-16 20:02:50 +00:00
2023-10-16 15:50:31 +00:00
2024-02-16 20:02:50 +00:00
2023-10-16 15:50:31 +00:00
2024-02-16 20:02:50 +00:00
2023-06-16 19:39:48 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-06-16 19:39:48 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-06-16 19:39:48 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2023-08-04 15:11:09 +00:00
2023-11-24 19:15:52 +01:00
2024-03-20 17:30:19 +00:00
2024-03-20 17:30:19 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-03-27 14:02:16 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-03-18 16:08:58 +00:00
2024-02-16 20:02:50 +00:00
2024-02-14 11:00:30 +00:00
2024-02-14 11:00:30 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-03-20 13:00:34 -04:00
2024-03-20 13:00:34 -04:00
2023-05-18 01:53:01 +00:00
2023-05-18 01:53:01 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-04-04 07:47:22 +02:00
2024-04-04 07:47:22 +02:00
2024-03-10 21:18:41 -04:00
2024-03-10 21:18:41 -04:00
2024-03-10 21:18:41 -04:00
2024-03-23 12:01:39 +01:00
2024-03-23 12:01:39 +01:00
2024-02-16 20:02:50 +00:00
2024-01-08 20:30:24 +00:00
2024-01-08 20:30:24 +00:00
2024-02-16 20:02:50 +00:00
2023-12-07 23:00:46 -05:00
2023-06-16 19:39:48 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-03-10 21:18:41 -04:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-29 11:08:27 +11:00
2024-02-29 11:08:27 +11:00
2024-02-16 20:02:50 +00:00
2023-09-21 22:20:58 +02:00
2024-03-20 13:00:34 -04:00
2024-03-20 13:00:34 -04:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-03-10 21:18:41 -04:00
2024-03-10 21:18:41 -04:00
2024-03-10 21:18:41 -04:00
2024-03-10 21:18:41 -04:00
2024-03-10 21:18:41 -04:00
2024-03-10 21:18:41 -04:00
2024-03-10 21:18:41 -04:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-07 10:42:01 +08:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00
2023-04-12 22:50:10 +00:00
2023-06-26 19:14:49 +00:00
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2023-11-24 19:15:52 +01:00
2024-02-16 20:02:50 +00:00
2023-12-05 19:53:59 +00:00
2023-12-05 19:53:59 +00:00
2023-12-05 19:53:59 +00:00
2024-02-16 20:02:50 +00:00
2024-02-27 15:57:49 +01:00
2024-02-27 15:57:49 +01:00
2024-02-16 20:02:50 +00:00
2023-11-24 19:15:52 +01:00
2024-02-19 23:54:49 +00:00
2024-03-07 14:26:31 +00:00
2024-02-16 20:02:50 +00:00
2024-02-16 20:02:50 +00:00