Skip to content

Commit dc6e996

Browse files
committed
Move Send and Sync impl for MaybeUninitSlice to sys
Fixes a Clippy warning and also makes it clear how the unsafe implementation is actually safe.
1 parent cf3f6f6 commit dc6e996

File tree

4 files changed

+9
-5
lines changed

4 files changed

+9
-5
lines changed

src/lib.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -285,10 +285,6 @@ impl RecvFlags {
285285
#[repr(transparent)]
286286
pub struct MaybeUninitSlice<'a>(sys::MaybeUninitSlice<'a>);
287287

288-
unsafe impl<'a> Send for MaybeUninitSlice<'a> {}
289-
290-
unsafe impl<'a> Sync for MaybeUninitSlice<'a> {}
291-
292288
impl<'a> fmt::Debug for MaybeUninitSlice<'a> {
293289
fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
294290
fmt::Debug::fmt(self.0.as_slice(), fmt)

src/sockaddr.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ impl From<SocketAddrV4> for SockAddr {
224224
let sockaddr_in = sockaddr_in {
225225
sin_family: AF_INET as sa_family_t,
226226
sin_port: addr.port().to_be(),
227-
sin_addr: crate::sys::to_in_addr(&addr.ip()),
227+
sin_addr: crate::sys::to_in_addr(addr.ip()),
228228
sin_zero: Default::default(),
229229
#[cfg(any(
230230
target_os = "dragonfly",

src/sys/unix.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -414,6 +414,10 @@ pub struct MaybeUninitSlice<'a> {
414414
_lifetime: PhantomData<&'a mut [MaybeUninit<u8>]>,
415415
}
416416

417+
unsafe impl<'a> Send for MaybeUninitSlice<'a> {}
418+
419+
unsafe impl<'a> Sync for MaybeUninitSlice<'a> {}
420+
417421
impl<'a> MaybeUninitSlice<'a> {
418422
pub(crate) fn new(buf: &'a mut [MaybeUninit<u8>]) -> MaybeUninitSlice<'a> {
419423
MaybeUninitSlice {

src/sys/windows.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,10 @@ pub struct MaybeUninitSlice<'a> {
157157
_lifetime: PhantomData<&'a mut [MaybeUninit<u8>]>,
158158
}
159159

160+
unsafe impl<'a> Send for MaybeUninitSlice<'a> {}
161+
162+
unsafe impl<'a> Sync for MaybeUninitSlice<'a> {}
163+
160164
impl<'a> MaybeUninitSlice<'a> {
161165
pub fn new(buf: &'a mut [MaybeUninit<u8>]) -> MaybeUninitSlice<'a> {
162166
assert!(buf.len() <= ULONG::MAX as usize);

0 commit comments

Comments
 (0)