From d7c6947f4eabd1e4bbfaf6f966e9e12e16297137 Mon Sep 17 00:00:00 2001 From: datdenkikniet Date: Sun, 23 Mar 2025 12:34:59 +0100 Subject: rtic-sync: re-wrap UnsafeCell instead --- rtic-sync/src/channel.rs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'rtic-sync/src/channel.rs') diff --git a/rtic-sync/src/channel.rs b/rtic-sync/src/channel.rs index 043d058..f2f8aa1 100644 --- a/rtic-sync/src/channel.rs +++ b/rtic-sync/src/channel.rs @@ -104,9 +104,7 @@ impl Channel { /// Split the queue into a `Sender`/`Receiver` pair. pub fn split(&mut self) -> (Sender<'_, T, N>, Receiver<'_, T, N>) { - // SAFETY: we have exclusive access to `self`. - let freeq = self.freeq.get_mut(); - let freeq = unsafe { freeq.deref() }; + let freeq = self.freeq.as_mut(); // Fill free queue for idx in 0..N as u8 { @@ -123,8 +121,7 @@ impl Channel { debug_assert!(freeq.is_full()); // There is now 1 sender - // SAFETY: we have exclusive access to `self`. - unsafe { *self.num_senders.get_mut().deref() = 1 }; + *self.num_senders.as_mut() = 1; (Sender(self), Receiver(self)) } -- cgit v1.2.3