embassy-sync: manual Copy impls for channel and pipe
This commit is contained in:
parent
5d5cd23715
commit
2ab9a07b64
2 changed files with 12 additions and 6 deletions
|
@ -30,7 +30,6 @@ use crate::blocking_mutex::Mutex;
|
|||
use crate::waitqueue::WakerRegistration;
|
||||
|
||||
/// Send-only access to a [`Channel`].
|
||||
#[derive(Copy)]
|
||||
pub struct Sender<'ch, M, T, const N: usize>
|
||||
where
|
||||
M: RawMutex,
|
||||
|
@ -47,6 +46,8 @@ where
|
|||
}
|
||||
}
|
||||
|
||||
impl<'ch, M, T, const N: usize> Copy for Sender<'ch, M, T, N> where M: RawMutex {}
|
||||
|
||||
impl<'ch, M, T, const N: usize> Sender<'ch, M, T, N>
|
||||
where
|
||||
M: RawMutex,
|
||||
|
@ -67,7 +68,6 @@ where
|
|||
}
|
||||
|
||||
/// Send-only access to a [`Channel`] without knowing channel size.
|
||||
#[derive(Copy)]
|
||||
pub struct DynamicSender<'ch, T> {
|
||||
channel: &'ch dyn DynamicChannel<T>,
|
||||
}
|
||||
|
@ -78,6 +78,8 @@ impl<'ch, T> Clone for DynamicSender<'ch, T> {
|
|||
}
|
||||
}
|
||||
|
||||
impl<'ch, T> Copy for DynamicSender<'ch, T> {}
|
||||
|
||||
impl<'ch, M, T, const N: usize> From<Sender<'ch, M, T, N>> for DynamicSender<'ch, T>
|
||||
where
|
||||
M: RawMutex,
|
||||
|
@ -107,7 +109,6 @@ impl<'ch, T> DynamicSender<'ch, T> {
|
|||
}
|
||||
|
||||
/// Receive-only access to a [`Channel`].
|
||||
#[derive(Copy)]
|
||||
pub struct Receiver<'ch, M, T, const N: usize>
|
||||
where
|
||||
M: RawMutex,
|
||||
|
@ -124,6 +125,8 @@ where
|
|||
}
|
||||
}
|
||||
|
||||
impl<'ch, M, T, const N: usize> Copy for Receiver<'ch, M, T, N> where M: RawMutex {}
|
||||
|
||||
impl<'ch, M, T, const N: usize> Receiver<'ch, M, T, N>
|
||||
where
|
||||
M: RawMutex,
|
||||
|
@ -144,7 +147,6 @@ where
|
|||
}
|
||||
|
||||
/// Receive-only access to a [`Channel`] without knowing channel size.
|
||||
#[derive(Copy)]
|
||||
pub struct DynamicReceiver<'ch, T> {
|
||||
channel: &'ch dyn DynamicChannel<T>,
|
||||
}
|
||||
|
@ -155,6 +157,8 @@ impl<'ch, T> Clone for DynamicReceiver<'ch, T> {
|
|||
}
|
||||
}
|
||||
|
||||
impl<'ch, T> Copy for DynamicReceiver<'ch, T> {}
|
||||
|
||||
impl<'ch, T> DynamicReceiver<'ch, T> {
|
||||
/// Receive the next value.
|
||||
///
|
||||
|
|
|
@ -11,7 +11,6 @@ use crate::ring_buffer::RingBuffer;
|
|||
use crate::waitqueue::WakerRegistration;
|
||||
|
||||
/// Write-only access to a [`Pipe`].
|
||||
#[derive(Copy)]
|
||||
pub struct Writer<'p, M, const N: usize>
|
||||
where
|
||||
M: RawMutex,
|
||||
|
@ -28,6 +27,8 @@ where
|
|||
}
|
||||
}
|
||||
|
||||
impl<'p, M, const N: usize> Copy for Writer<'p, M, N> where M: RawMutex {}
|
||||
|
||||
impl<'p, M, const N: usize> Writer<'p, M, N>
|
||||
where
|
||||
M: RawMutex,
|
||||
|
@ -74,7 +75,6 @@ where
|
|||
impl<'p, M, const N: usize> Unpin for WriteFuture<'p, M, N> where M: RawMutex {}
|
||||
|
||||
/// Read-only access to a [`Pipe`].
|
||||
#[derive(Copy)]
|
||||
pub struct Reader<'p, M, const N: usize>
|
||||
where
|
||||
M: RawMutex,
|
||||
|
@ -91,6 +91,8 @@ where
|
|||
}
|
||||
}
|
||||
|
||||
impl<'p, M, const N: usize> Copy for Reader<'p, M, N> where M: RawMutex {}
|
||||
|
||||
impl<'p, M, const N: usize> Reader<'p, M, N>
|
||||
where
|
||||
M: RawMutex,
|
||||
|
|
Loading…
Reference in a new issue