rust/tests
bors ee80c8d0a8 Auto merge of #117611 - Nadrieril:linear-pass-take-4, r=cjgillot
Rewrite exhaustiveness in one pass

This is at least my 4th attempt at this in as many years x) Previous attempts were all too complicated or too slow. But we're finally here!

The previous version of the exhaustiveness algorithm computed reachability for each arm then exhaustiveness of the whole match. Since each of these steps does roughly the same things, this rewrites the algorithm to do them all in one go. I also think this makes things much simpler.

I also rewrote the documentation of the algorithm in depth. Hopefully it's up-to-date and easier to follow now. Plz comment if anything's unclear.

r? `@oli-obk` I think you're one of the rare other people to understand the exhaustiveness algorithm?

cc `@varkor` I know you're not active anymore, but if you feel like having a look you might enjoy this :D

Fixes https://github.com/rust-lang/rust/issues/79307
2023-11-26 00:14:14 +00:00
..
assembly Remove now deprecated target x86_64-sun-solaris. 2023-11-20 15:15:47 +01:00
auxiliary
codegen convert ehcont-guard to an unstable option 2023-11-21 14:24:23 -08:00
codegen-units Automatically enable cross-crate inlining for small functions 2023-10-17 19:53:51 -04:00
coverage coverage: Regression test for #117788 2023-11-13 12:31:44 +11:00
coverage-run-rustdoc coverage: Rename the run-coverage test mode to coverage-run 2023-11-08 16:41:24 +11:00
debuginfo Check alignment of pointers only when read/written through 2023-11-04 13:01:32 -04:00
incremental Remove asmjs from tests 2023-10-28 23:11:03 -07:00
mir-opt Fix insertion of statements to be executed along return edge in inlining 2023-11-20 09:27:30 +01:00
pretty Remove unnecessary CVarArgs name skipping logic 2023-10-25 17:44:17 +02:00
run-make Bless run-make tests 2023-11-24 19:15:52 +01:00
run-make-fulldeps Merge Queries::{ongoing_codegen,linker}. 2023-11-22 13:22:49 +11:00
run-pass-valgrind
rustdoc Rollup merge of #118224 - dtolnay:rustdocsortunstable, r=fmease 2023-11-24 08:23:54 +01:00
rustdoc-gui rustdoc-search: add support for associated types 2023-11-19 18:54:36 -07:00
rustdoc-js rustdoc-search: avoid infinite where clause unbox 2023-11-24 10:42:11 -07:00
rustdoc-js-std rustdoc-search: make primitives and keywords less special 2023-11-21 13:59:26 -07:00
rustdoc-json rustdoc-json: Fix test so it actuall checks things 2023-11-09 12:13:16 +00:00
rustdoc-ui Manual find replace updates 2023-11-24 21:04:51 +01:00
ui Auto merge of #117611 - Nadrieril:linear-pass-take-4, r=cjgillot 2023-11-26 00:14:14 +00:00
ui-fulldeps Auto merge of #118138 - Nilstrieb:one-previous-error, r=WaffleLapkin 2023-11-24 21:40:54 +00:00
COMPILER_TESTS.md