diff options
| author | bors <bors@rust-lang.org> | 2024-09-18 09:25:01 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-09-18 09:25:01 +0000 |
| commit | 82d17a4db3a010caa947d49245de63a7ac14accf (patch) | |
| tree | 65ad85f651bc80f4a011628d2630efae895fa065 /compiler | |
| parent | f68c28b6cefb9e1f9c258f20a3b1b7b7cddbc84f (diff) | |
| parent | d20649e79d017249a170ad42a8d514f2498909c5 (diff) | |
| download | rust-82d17a4db3a010caa947d49245de63a7ac14accf.tar.gz rust-82d17a4db3a010caa947d49245de63a7ac14accf.zip | |
Auto merge of #130500 - matthiaskrgr:rollup-lfx3bb4, r=matthiaskrgr
Rollup of 3 pull requests Successful merges: - #130466 (tests: add repr/transparent test for aarch64) - #130468 (Make sure that def id <=> lang item map is bidirectional) - #130499 (Add myself to the libs review rotation) r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/rustc_hir/src/lang_items.rs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/compiler/rustc_hir/src/lang_items.rs b/compiler/rustc_hir/src/lang_items.rs index e7398fd2226..c148dc7f53b 100644 --- a/compiler/rustc_hir/src/lang_items.rs +++ b/compiler/rustc_hir/src/lang_items.rs @@ -45,7 +45,16 @@ impl LanguageItems { pub fn set(&mut self, item: LangItem, def_id: DefId) { self.items[item as usize] = Some(def_id); - self.reverse_items.insert(def_id, item); + let preexisting = self.reverse_items.insert(def_id, item); + + // This needs to be a bijection. + if let Some(preexisting) = preexisting { + panic!( + "For the bijection of LangItem <=> DefId to work,\ + one item DefId may only be assigned one LangItem. \ + Separate the LangItem definitions for {item:?} and {preexisting:?}." + ); + } } pub fn from_def_id(&self, def_id: DefId) -> Option<LangItem> { |
