Rollup merge of #89476 - cjgillot:expn-id, r=petrochenkov

Correct decoding of foreign expansions during incr. comp.

Fixes https://github.com/rust-lang/rust/issues/74946

The original issue was due to a wrong assertion in `expn_hash_to_expn_id`.

The secondary issue was due to a mismatch between the encoding and decoding paths for expansions that are created after the TyCtxt is created.
This commit is contained in:
Jubilee 2021-10-07 20:26:14 -07:00 committed by GitHub
commit aed1801841
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 51 additions and 19 deletions

View file

@ -0,0 +1,11 @@
// MIR optimizations can create expansions after the TyCtxt has been created.
// This test verifies that those expansions can be decoded correctly.
// revisions:rpass1 rpass2
// compile-flags: -Z query-dep-graph -Z mir-opt-level=3
fn main() {
if std::env::var("a").is_ok() {
println!("b");
}
}