diff --git a/crates/wasi-common/src/clock.rs b/crates/wasi-common/src/clock.rs index fdf9dd2792..9536e5034e 100644 --- a/crates/wasi-common/src/clock.rs +++ b/crates/wasi-common/src/clock.rs @@ -5,7 +5,7 @@ use std::time::SystemTime; pub(crate) use sys::clock::*; -pub(crate) fn to_relative_ns_delay(clock: SubscriptionClock) -> Result { +pub(crate) fn to_relative_ns_delay(clock: &SubscriptionClock) -> Result { if clock.flags != Subclockflags::SUBSCRIPTION_CLOCK_ABSTIME { return Ok(u128::from(clock.timeout)); } diff --git a/crates/wasi-common/src/snapshots/wasi_snapshot_preview1.rs b/crates/wasi-common/src/snapshots/wasi_snapshot_preview1.rs index 04272926d4..aafdbe8017 100644 --- a/crates/wasi-common/src/snapshots/wasi_snapshot_preview1.rs +++ b/crates/wasi-common/src/snapshots/wasi_snapshot_preview1.rs @@ -1185,7 +1185,7 @@ impl<'a> WasiSnapshotPreview1 for WasiCtx { for subscription in subscriptions { match subscription.u { types::SubscriptionU::Clock(clock) => { - let delay = clock::to_relative_ns_delay(clock)?; + let delay = clock::to_relative_ns_delay(&clock)?; log::debug!("poll_oneoff event.u.clock = {:?}", clock); log::debug!("poll_oneoff delay = {:?}ns", delay); let current = poll::ClockEventData { diff --git a/crates/wasi-common/src/wasi.rs b/crates/wasi-common/src/wasi.rs index 89ad1fe954..41b5555898 100644 --- a/crates/wasi-common/src/wasi.rs +++ b/crates/wasi-common/src/wasi.rs @@ -95,7 +95,7 @@ impl AsBytes for types::Dirent { let mut bytes: Vec = Vec::with_capacity(offset); bytes.resize(offset, 0); let ptr = bytes.as_mut_ptr() as *mut Self; - unsafe { ptr.write_unaligned(*self) }; + unsafe { ptr.write_unaligned(self.clone()) }; Ok(bytes) } } diff --git a/crates/wiggle/crates/generate/src/types/struct.rs b/crates/wiggle/crates/generate/src/types/struct.rs index d0c3b03cdd..ea0a66115a 100644 --- a/crates/wiggle/crates/generate/src/types/struct.rs +++ b/crates/wiggle/crates/generate/src/types/struct.rs @@ -74,7 +74,7 @@ pub(super) fn define_struct( let (struct_lifetime, extra_derive) = if s.needs_lifetime() { (quote!(<'a>), quote!()) } else { - (quote!(), quote!(, Copy, PartialEq)) + (quote!(), quote!(, PartialEq)) }; let transparent = if s.is_transparent() { diff --git a/crates/wiggle/crates/generate/src/types/union.rs b/crates/wiggle/crates/generate/src/types/union.rs index 4490690050..c3c31d7714 100644 --- a/crates/wiggle/crates/generate/src/types/union.rs +++ b/crates/wiggle/crates/generate/src/types/union.rs @@ -68,7 +68,7 @@ pub(super) fn define_union(names: &Names, name: &witx::Id, u: &witx::UnionDataty let (enum_lifetime, extra_derive) = if u.needs_lifetime() { (quote!(<'a>), quote!()) } else { - (quote!(), quote!(, Copy, PartialEq)) + (quote!(), quote!(, PartialEq)) }; quote! {