]> git.lizzy.rs Git - rust.git/blobdiff - src/librustc_typeck/check/writeback.rs
Use ItemLocalId as key for TypeckTables::fru_field_types.
[rust.git] / src / librustc_typeck / check / writeback.rs
index 499afe62b4f933860ec9f269c12eecfbae893c15..45ec788b1b8dc34834fffd628b0d6211cda45a44 100644 (file)
@@ -362,9 +362,16 @@ fn visit_liberated_fn_sigs(&mut self) {
     }
 
     fn visit_fru_field_types(&mut self) {
-        for (&node_id, ftys) in self.fcx.tables.borrow().fru_field_types.iter() {
-            let ftys = self.resolve(ftys, &node_id);
-            self.tables.fru_field_types.insert(node_id, ftys);
+        let fcx_tables = self.fcx.tables.borrow();
+        debug_assert_eq!(fcx_tables.local_id_root, self.tables.local_id_root);
+
+        for (&local_id, ftys) in fcx_tables.fru_field_types.iter() {
+            let hir_id = hir::HirId {
+                owner: fcx_tables.local_id_root.index,
+                local_id,
+            };
+            let ftys = self.resolve(ftys, &hir_id);
+            self.tables.fru_field_types.insert(local_id, ftys);
         }
     }