You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rollup merge of #118822 - Nadrieril:librarify, r=compiler-errors
Extract exhaustiveness into its own crate
It now makes sense to extract exhaustiveness into its own crate! This was much-requested by rust-analyzer (they currently maintain by hand a copy of the algorithm), and I hope this can serve other projects e.g. clippy.
This is the churny PR: it exclusively moves code around. It's not yet useable outside of rustc but I wanted the churny parts to be out of the way.
r? `@compiler-errors`
to use a constant of type `{$non_sm_ty}` in a pattern, the constant's initializer must be trivial or `{$non_sm_ty}` must be annotated with `#[derive(PartialEq, Eq)]`
262
253
263
-
mir_build_overlapping_range_endpoints = multiple patterns overlap on their endpoints
264
-
.range = ... with this range
265
-
.note = you likely meant to write mutually exclusive ranges
266
-
267
254
mir_build_pattern_not_covered = refutable pattern in {$origin}
268
255
.pattern_ty = the matched value is of type `{$pattern_ty}`
269
256
@@ -317,13 +304,6 @@ mir_build_unconditional_recursion = function cannot return without recursing
317
304
318
305
mir_build_unconditional_recursion_call_site_label = recursive call site
319
306
320
-
mir_build_uncovered = {$count->
321
-
[1] pattern `{$witness_1}`
322
-
[2] patterns `{$witness_1}` and `{$witness_2}`
323
-
[3] patterns `{$witness_1}`, `{$witness_2}` and `{$witness_3}`
324
-
*[other] patterns `{$witness_1}`, `{$witness_2}`, `{$witness_3}` and {$remainder} more
325
-
} not covered
326
-
327
307
mir_build_union_field_requires_unsafe =
328
308
access to union field is unsafe and requires unsafe block
329
309
.note = the field may not be properly initialized: using uninitialized data will cause undefined behavior
0 commit comments