From bae9dc70827031ff752a0ab70d11bd65aeeec89c Mon Sep 17 00:00:00 2001 From: Alice Ryhl Date: Mon, 13 Jan 2025 10:19:08 +0100 Subject: [PATCH] It still isn't Copy --- src/buf/take.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/buf/take.rs b/src/buf/take.rs index 7c83a6a74..fc4e39dda 100644 --- a/src/buf/take.rs +++ b/src/buf/take.rs @@ -192,9 +192,12 @@ impl Buf for Take { let buf = unsafe { std::mem::transmute::<&[u8], &'a [u8]>(buf) }; *dst = IoSlice::new(buf); return i + 1; + } else { + // SAFETY: We could do this safely with `IoSlice::advance` if we had a larger MSRV. + let buf = unsafe { std::mem::transmute::<&[u8], &'a [u8]>(slice) }; + *dst = IoSlice::new(buf); + limit -= slice.len(); } - *dst = *slice; - limit -= slice.len(); } cnt }