diff --git a/src/runtime2/component/consensus.rs b/src/runtime2/component/consensus.rs index 2be94616b20a62067d567a01f3bf70b108bbc889..4683ff164f11a5d64815a14a18ef5d94395ad24e 100644 --- a/src/runtime2/component/consensus.rs +++ b/src/runtime2/component/consensus.rs @@ -3,7 +3,6 @@ use crate::runtime2::scheduler::*; use crate::runtime2::runtime::*; use crate::runtime2::communication::*; -use super::component_pdl::*; use super::component_context::*; pub struct PortAnnotation { @@ -556,7 +555,7 @@ impl Consensus { }); handle.send_message(sched_ctx, message, true); let _should_remove = handle.decrement_users(); - debug_assert!(!_should_remove); + debug_assert!(_should_remove.is_none()); } } @@ -565,8 +564,7 @@ impl Consensus { let mut leader_info = sched_ctx.runtime.get_component_public(self.highest_id); leader_info.send_message(sched_ctx, message, true); let should_remove = leader_info.decrement_users(); - if should_remove { - let key = unsafe{ self.highest_id.upgrade() }; + if let Some(key) = should_remove { sched_ctx.runtime.destroy_component(key); } }