diff options
| author | bors <bors@rust-lang.org> | 2023-12-24 21:58:39 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-12-24 21:58:39 +0000 |
| commit | bf8716f1cd6416266807706bcae0ecb2e51c9d4a (patch) | |
| tree | dbac1f4295bceef5d0e41dc8903e6b4a7c515a92 /compiler/rustc_span/src/source_map | |
| parent | e87ccb8676be9ab641849a2539b215d0c9027237 (diff) | |
| parent | fa8ef253720446959a7bab4593c62a1819563cbc (diff) | |
Auto merge of #119139 - michaelwoerister:cleanup-stable-source-file-id, r=cjgillot
Unify SourceFile::name_hash and StableSourceFileId This PR adapts the existing `StableSourceFileId` type so that it can be used instead of the `name_hash` field of `SourceFile`. This simplifies a few things that were kind of duplicated before. The PR should also fix issues https://github.com/rust-lang/rust/issues/112700 and https://github.com/rust-lang/rust/issues/115835, but I was not able to reproduce these issues in a regression test. As far as I can tell, the root cause of these issues is that the id of the originating crate is not hashed in the `HashStable` impl of `Span` and thus cache entries that should have been considered invalidated were loaded. After this PR, the `stable_id` field of `SourceFile` includes information about the originating crate, so that ICE should not occur anymore.
Diffstat (limited to 'compiler/rustc_span/src/source_map')
| -rw-r--r-- | compiler/rustc_span/src/source_map/tests.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/rustc_span/src/source_map/tests.rs b/compiler/rustc_span/src/source_map/tests.rs index 113ca493d36..130522a302d 100644 --- a/compiler/rustc_span/src/source_map/tests.rs +++ b/compiler/rustc_span/src/source_map/tests.rs @@ -234,14 +234,14 @@ fn t10() { multibyte_chars, non_narrow_chars, normalized_pos, - name_hash, + stable_id, .. } = (*src_file).clone(); let imported_src_file = sm.new_imported_source_file( name, src_hash, - name_hash, + stable_id, source_len.to_u32(), CrateNum::new(0), FreezeLock::new(lines.read().clone()), |
