diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2023-08-25 09:00:12 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-25 09:00:12 +0200 |
| commit | 49cdf06b4a56582ba4ad93fbc9eaeef3a73c893c (patch) | |
| tree | 5b9ec3d27bfafcb2e8d97c6c6449b49b46e46bdf | |
| parent | b88849d77c252a75ffa68b7c1a9aa8240935812a (diff) | |
| parent | 6101ddd793daf8bea541073c2d9462e252e81cec (diff) | |
| download | rust-49cdf06b4a56582ba4ad93fbc9eaeef3a73c893c.tar.gz rust-49cdf06b4a56582ba4ad93fbc9eaeef3a73c893c.zip | |
Rollup merge of #115081 - Zoxc:expn-id-decode, r=cjgillot
Allow overwriting ExpnId for concurrent decoding These assertions only hold for the single threaded compiler. They were triggered in https://github.com/rust-lang/rust/pull/115003.
| -rw-r--r-- | compiler/rustc_span/src/hygiene.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/rustc_span/src/hygiene.rs b/compiler/rustc_span/src/hygiene.rs index ab57d5c6803..88081700c3b 100644 --- a/compiler/rustc_span/src/hygiene.rs +++ b/compiler/rustc_span/src/hygiene.rs @@ -1291,11 +1291,11 @@ pub fn register_expn_id( let expn_id = ExpnId { krate, local_id }; HygieneData::with(|hygiene_data| { let _old_data = hygiene_data.foreign_expn_data.insert(expn_id, data); - debug_assert!(_old_data.is_none()); + debug_assert!(_old_data.is_none() || cfg!(parallel_compiler)); let _old_hash = hygiene_data.foreign_expn_hashes.insert(expn_id, hash); - debug_assert!(_old_hash.is_none()); + debug_assert!(_old_hash.is_none() || _old_hash == Some(hash)); let _old_id = hygiene_data.expn_hash_to_expn_id.insert(hash, expn_id); - debug_assert!(_old_id.is_none()); + debug_assert!(_old_id.is_none() || _old_id == Some(expn_id)); }); expn_id } |
