bors
e20cb77021
Auto merge of #116391 - Nadrieril:constructorset, r=cjgillot
...
exhaustiveness: Rework constructor splitting
`SplitWildcard` was pretty opaque. I replaced it with a more legible abstraction: `ConstructorSet` represents the set of constructors for patterns of a given type. This clarifies responsibilities: `ConstructorSet` handles one clear task, and diagnostic-related shenanigans can be done separately.
I'm quite excited, I had has this in mind for years but could never quite introduce it. This opens up possibilities, including type-specific optimisations (like using a `FxHashSet` to collect enum variants, which had been [hackily attempted some years ago](https://github.com/rust-lang/rust/pull/76918 )), my one-pass rewrite (https://github.com/rust-lang/rust/pull/116042 ), and future librarification.
2023-10-12 21:33:31 +00:00
..
2023-01-11 09:32:08 +00:00
2023-10-05 01:04:41 +00:00
2023-05-21 14:16:41 +02:00
2023-10-12 21:33:31 +00:00
2023-06-24 18:41:27 +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-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-20 02:26:12 -05:00
2023-01-20 02:26:12 -05: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-30 20:12:19 +00:00
2023-01-20 02:26:12 -05:00
2023-01-20 02:26:12 -05:00
2023-01-11 09:32:08 +00:00
2023-04-03 15:59:21 +00:00
2023-10-11 12:49:57 +00:00
2023-10-11 12:49:57 +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-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-24 19:35:59 -03:00
2023-05-24 19:35:59 -03:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-01-14 12:51:20 +13:00
2023-04-03 15:59:21 +00:00
2023-03-15 22:19:54 +13:00
2023-03-15 22:19:54 +13:00
2023-03-15 22:19:54 +13:00
2023-07-01 02:28:15 -04:00
2023-09-07 11:07:33 +08:00
2023-09-07 11:07:33 +08:00
2023-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-10-11 12:49:57 +00:00
2023-10-11 12:49:57 +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-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-13 17:31:55 +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-30 20:12:19 +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-10-05 01:04:41 +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-10 22:35:01 +08: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-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-01-11 09:32:08 +00:00
2023-01-11 09:32:08 +00:00
2023-07-17 22:06:32 +00:00
2023-07-17 22:06:32 +00:00
2023-07-17 22:06:32 +00:00
2023-07-17 22:02:09 +00:00
2023-07-17 22:02:09 +00:00
2023-07-28 11:20:11 +00:00
2023-10-04 02:04:14 +00:00
2023-07-17 22:06:32 +00:00
2023-04-03 15:59:21 +00:00
2023-01-11 09:32:08 +00:00
2023-04-03 15:59:21 +00:00