rust/compiler/rustc_metadata
Guillaume Gomez 786d828710
Rollup merge of #148306 - zetanumbers:expn_id_decode, r=nnethercote
Remove double check when decoding ExpnId to avoid races

Fixes debug assertion failure as described in https://github.com/rust-lang/rust/issues/141540#issuecomment-3462723909

Essentially failure happens during the race while decoding one `ExpnId` from different threads. This ICE doesn't happen with single threaded thread_pool due to early return within `decode_expn_id` with the same condition:

8205e6b75e/compiler/rustc_middle/src/query/on_disk_cache.rs (L605-L607)

However I believe this race does not hurt because `register_expn_id` is pretty much idempotent:

8205e6b75e/compiler/rustc_span/src/hygiene.rs (L1397-L1413)
2025-11-03 17:20:38 +01:00
..
2025-10-04 18:18:58 +00:00