rust/compiler/rustc_middle/src
bors 3f5aee2d52 Auto merge of #81744 - rylev:overlapping-early-exit2, r=lcnr
Try fast_reject::simplify_type in coherence before doing full check

This is a reattempt at landing #69010 (by `@jonas-schievink).` The change adds a fast path for coherence checking to see if there's no way for types to unify since full coherence checking can be somewhat expensive.

This has big effects on code generated by the [`windows`](https://github.com/microsoft/windows-rs) which in some cases spends as much as 20% of compilation time in the `specialization_graph_of` query. In local benchmarks this took a compilation that previously took ~500 seconds down to ~380 seconds.

This is surely not going to make a difference on much smaller crates, so the question is whether it will have a negative impact. #69010 was closed because some of the perf suite crates did show small regressions.

Additional discussion of this issue is happening [here](https://rust-lang.zulipchat.com/#narrow/stream/247081-t-compiler.2Fperformance/topic/windows-rs.20perf).
2021-02-12 17:38:15 +00:00
..
dep_graph
hir Fix typo in mod.rs 2021-02-12 13:47:21 +09:00
ich
infer
middle
mir Rollup merge of #81665 - jacob-hughes:mir_doc_fix, r=estebank 2021-02-02 16:01:49 -05:00
query Auto merge of #81905 - Dylan-DPC:rollup-mxpz1j7, r=Dylan-DPC 2021-02-09 05:57:18 +00:00
traits Update Chalk 2021-02-02 12:37:22 -05:00
ty Auto merge of #81744 - rylev:overlapping-early-exit2, r=lcnr 2021-02-12 17:38:15 +00:00
util Make panic/assert calls in rustc compatible with Rust 2021. 2021-02-03 22:42:53 +01:00
arena.rs
lib.rs
lint.rs introduce future-compatibility warning for forbidden lint groups 2021-02-02 18:21:37 -05:00
macros.rs
tests.rs