rust/compiler
bors 36ecbc94eb Auto merge of #80632 - Nadrieril:fix-80501, r=varkor
Identify unreachable subpatterns more reliably

In https://github.com/rust-lang/rust/pull/80104 I used `Span`s to identify unreachable sub-patterns in the presence of or-patterns during exhaustiveness checking. In https://github.com/rust-lang/rust/issues/80501 it was revealed that `Span`s are complicated and that this was not a good idea.
Instead, this PR identifies subpatterns logically: as a path in the tree of subpatterns of a given pattern. I made a struct that captures a set of such subpatterns. This is a bit complex, but thankfully self-contained; the rest of the code does not need to know anything about it.
Fixes https://github.com/rust-lang/rust/issues/80501. I think I managed to keep the perf neutral.

r? `@varkor`
2021-02-07 16:48:57 +00:00
..
rustc
rustc_apfloat
rustc_arena
rustc_ast Rollup merge of #81645 - m-ou-se:panic-lint, r=estebank,flip1995 2021-02-04 21:10:36 +01:00
rustc_ast_lowering lowering of generic args in AssocTyConstraint 2021-02-04 16:20:58 +01:00
rustc_ast_passes Auto merge of #81346 - hug-dev:nonsecure-call-abi, r=jonas-schievink 2021-02-03 06:00:43 +00:00
rustc_ast_pretty
rustc_attr Never MIR inline functions with a different instruction set 2021-02-05 00:00:00 +00:00
rustc_builtin_macros Auto merge of #81294 - pnkfelix:issue-81211-use-ufcs-in-derive-debug, r=oli-obk 2021-02-03 15:12:19 +00:00
rustc_codegen_cranelift Add a new ABI to support cmse_nonsecure_call 2021-02-02 13:04:31 +00:00
rustc_codegen_llvm Rollup merge of #81664 - bjorn3:no_codegen_hir, r=lcnr 2021-02-06 00:14:13 +01:00
rustc_codegen_ssa rustc_codegen_ssa: tune codegen scheduling to reduce memory usage 2021-02-03 18:55:05 -08:00
rustc_data_structures Rollup merge of #81771 - tgnottingham:time-passes-rss-delta, r=oli-obk 2021-02-05 12:26:08 +01:00
rustc_driver
rustc_error_codes Rollup merge of #81835 - jesusprubio:improve-long-eplanation-e0546, r=GuillaumeGomez 2021-02-07 14:45:54 +01:00
rustc_errors Make panic/assert calls in rustc compatible with Rust 2021. 2021-02-03 22:42:53 +01:00
rustc_expand
rustc_feature add relaxed_struct_unsize feature gate 2021-02-04 00:00:41 +01:00
rustc_fs_util
rustc_graphviz
rustc_hir Rollup merge of #81680 - camsteffen:primty, r=oli-obk 2021-02-06 17:01:45 +01:00
rustc_hir_pretty hir pretty printing 2021-02-04 16:20:57 +01:00
rustc_incremental
rustc_index Auto merge of #81498 - thomaseizinger:ice-workaround-56935-rustc-index, r=matthewjasper 2021-02-07 08:09:58 +00:00
rustc_infer tidy: Run tidy style against markdown files. 2021-02-04 09:01:50 -08:00
rustc_interface
rustc_lexer
rustc_lint Rollup merge of #81645 - m-ou-se:panic-lint, r=estebank,flip1995 2021-02-04 21:10:36 +01:00
rustc_lint_defs Rollup merge of #81556 - nikomatsakis:forbidden-lint-groups-lint, r=pnkfelix 2021-02-04 21:10:34 +01:00
rustc_llvm Add a new ABI to support cmse_nonsecure_call 2021-02-02 13:04:31 +00:00
rustc_macros
rustc_metadata Auto merge of #81215 - cjgillot:defkey-mir, r=oli-obk 2021-02-05 18:21:47 +00:00
rustc_middle path trimming: ignore type aliases 2021-02-06 12:03:48 +02:00
rustc_mir Never MIR inline functions with a different instruction set 2021-02-05 00:00:00 +00:00
rustc_mir_build Auto merge of #80632 - Nadrieril:fix-80501, r=varkor 2021-02-07 16:48:57 +00:00
rustc_parse Rollup merge of #81307 - estebank:invalid-byte-str-span, r=petrochenkov 2021-02-05 12:25:53 +01:00
rustc_parse_format
rustc_passes Bump rustfmt version 2021-02-02 09:09:52 -05:00
rustc_plugin_impl
rustc_privacy more things are const evaluatable *sparkles* 2021-02-01 20:05:50 +00:00
rustc_query_system
rustc_resolve Rollup merge of #81680 - camsteffen:primty, r=oli-obk 2021-02-06 17:01:45 +01:00
rustc_save_analysis
rustc_serialize Revert stabilizing integer::BITS. 2021-02-03 22:23:58 +01:00
rustc_session Auto merge of #79253 - rcvalle:fix-rustc-sysroot-cas, r=nagisa 2021-02-05 22:58:13 +00:00
rustc_span add relaxed_struct_unsize feature gate 2021-02-04 00:00:41 +01:00
rustc_symbol_mangling
rustc_target Auto merge of #81346 - hug-dev:nonsecure-call-abi, r=jonas-schievink 2021-02-03 06:00:43 +00:00
rustc_trait_selection Rollup merge of #81738 - camelid:misc-small-diag-cleanup, r=lcnr 2021-02-06 17:01:49 +01:00
rustc_traits Update Chalk 2021-02-02 12:37:22 -05:00
rustc_ty_utils
rustc_type_ir
rustc_typeck Rollup merge of #81738 - camelid:misc-small-diag-cleanup, r=lcnr 2021-02-06 17:01:49 +01:00