diff --git a/src/runtime2/mod.rs b/src/runtime2/mod.rs index cfcea882fe4e23e1fbedcb35736223d1c1a6a2a7..cd8b2ab381c4e34b954794afae1a6d598616d5ad 100644 --- a/src/runtime2/mod.rs +++ b/src/runtime2/mod.rs @@ -418,9 +418,9 @@ impl ConnectorStore { fn get_public(&self, id: ConnectorId) -> &'static ConnectorPublic { unsafe { let entry = self.entries.get(id.index as usize); - let cur_generation = (**entry).generation.load(Ordering::Acquire); - debug_assert_eq!(cur_generation, id.generation); debug_assert!(!entry.is_null()); + let cur_generation = (**entry).generation.load(Ordering::Acquire); + assert_eq!(cur_generation, id.generation, "accessing {}", id.index); return &(**entry).connector.public; } } @@ -431,6 +431,8 @@ impl ConnectorStore { unsafe { let entry = self.entries.get_mut(key.index as usize); debug_assert!(!entry.is_null()); + let cur_generation = (**entry).generation.load(Ordering::Acquire); + assert_eq!(cur_generation, key.generation, "accessing {}", key.index); return &mut (**entry).connector; } }