Skip to content

Commit 4b5613c

Browse files
committed
prevent multiple writes to a single entry in a DepTrackingMap
1 parent 78f7ac5 commit 4b5613c

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

src/librustc/dep_graph/dep_tracking_map.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ impl<M: DepTrackingMapConfig> DepTrackingMap<M> {
6363

6464
pub fn insert(&mut self, k: M::Key, v: M::Value) {
6565
self.write(&k);
66-
let _old_value = self.map.insert(k, v);
67-
// assert!(old_value.is_none());
66+
let old_value = self.map.insert(k, v);
67+
assert!(old_value.is_none());
6868
}
6969

7070
pub fn contains_key(&self, k: &M::Key) -> bool {

src/librustc_typeck/collect.rs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -848,9 +848,10 @@ fn convert_trait_item(ccx: &CrateCtxt, trait_item: &hir::TraitItem) {
848848
let const_def_id = ccx.tcx.hir.local_def_id(trait_item.id);
849849
generics_of_def_id(ccx, const_def_id);
850850
let ty = ccx.icx(&trait_predicates).to_ty(&ty);
851-
tcx.item_types.borrow_mut().insert(const_def_id, ty);
852-
convert_associated_const(ccx, TraitContainer(trait_def_id),
853-
trait_item.id, ty);
851+
convert_associated_const(ccx,
852+
TraitContainer(trait_def_id),
853+
trait_item.id,
854+
ty);
854855
}
855856

856857
hir::TraitItemKind::Type(_, ref opt_ty) => {
@@ -884,9 +885,10 @@ fn convert_impl_item(ccx: &CrateCtxt, impl_item: &hir::ImplItem) {
884885
let const_def_id = ccx.tcx.hir.local_def_id(impl_item.id);
885886
generics_of_def_id(ccx, const_def_id);
886887
let ty = ccx.icx(&impl_predicates).to_ty(&ty);
887-
tcx.item_types.borrow_mut().insert(const_def_id, ty);
888-
convert_associated_const(ccx, ImplContainer(impl_def_id),
889-
impl_item.id, ty);
888+
convert_associated_const(ccx,
889+
ImplContainer(impl_def_id),
890+
impl_item.id,
891+
ty);
890892
}
891893

892894
hir::ImplItemKind::Type(ref ty) => {

0 commit comments

Comments
 (0)