aboutsummaryrefslogtreecommitdiff
path: root/rtic-sync/src/channel.rs
diff options
context:
space:
mode:
authordatdenkikniet <jcdra1@gmail.com>2025-03-23 12:34:59 +0100
committerEmil Fresk <emil.fresk@gmail.com>2025-03-24 07:36:23 +0000
commitd7c6947f4eabd1e4bbfaf6f966e9e12e16297137 (patch)
tree18a8e4cbdf86c6306ac3705dae20fe821cc248b7 /rtic-sync/src/channel.rs
parentbef2e1b9f007df81e9bd42a94c56699273c0dd82 (diff)
rtic-sync: re-wrap UnsafeCell instead
Diffstat (limited to 'rtic-sync/src/channel.rs')
-rw-r--r--rtic-sync/src/channel.rs7
1 files changed, 2 insertions, 5 deletions
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<T, const N: usize> Channel<T, N> {
/// 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<T, const N: usize> Channel<T, N> {
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))
}