pub enum LoweredArgSnapshot {
I32(i32),
I64(i64),
F32(f32),
F64(f64),
U32(u32),
U64(u64),
Ptr {
len: u32,
guest_offset: u32,
},
}Expand description
Pointer-free, freely-Send/Sync snapshot of a LoweredArg.
LoweredArgSnapshot is the shape the public observability surface
(crate::host::WasiCudaContext::last_lowered_args) hands out. It
mirrors every variant of LoweredArg except that the Ptr variant
drops the raw host_ptr field — only the guest_offset and len
the guest declared survive.
The redaction is deliberate, not cosmetic. The host-side raw pointer
inside a LoweredArg::Ptr is only valid while the guest’s linear
memory has not been reallocated; a memory.grow between launch and
readback would dangle it. Stripping the field at the public boundary
makes that use-after-grow unrepresentable for embedders, and also
removes the only reason LoweredArg itself cannot implement Sync.
Variants§
I32(i32)
32-bit signed scalar.
I64(i64)
64-bit signed scalar.
F32(f32)
32-bit float scalar.
F64(f64)
64-bit float scalar.
U32(u32)
32-bit unsigned scalar.
U64(u64)
64-bit unsigned scalar.
Ptr
Pointer argument with the host pointer redacted; only the
guest-declared (guest_offset, len) pair survives.
Trait Implementations§
Source§impl Clone for LoweredArgSnapshot
impl Clone for LoweredArgSnapshot
Source§fn clone(&self) -> LoweredArgSnapshot
fn clone(&self) -> LoweredArgSnapshot
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for LoweredArgSnapshot
impl Debug for LoweredArgSnapshot
Source§impl From<&LoweredArg> for LoweredArgSnapshot
impl From<&LoweredArg> for LoweredArgSnapshot
Source§fn from(arg: &LoweredArg) -> Self
fn from(arg: &LoweredArg) -> Self
Source§impl PartialEq for LoweredArgSnapshot
impl PartialEq for LoweredArgSnapshot
Source§fn eq(&self, other: &LoweredArgSnapshot) -> bool
fn eq(&self, other: &LoweredArgSnapshot) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for LoweredArgSnapshot
Auto Trait Implementations§
impl Freeze for LoweredArgSnapshot
impl RefUnwindSafe for LoweredArgSnapshot
impl Send for LoweredArgSnapshot
impl Sync for LoweredArgSnapshot
impl Unpin for LoweredArgSnapshot
impl UnsafeUnpin for LoweredArgSnapshot
impl UnwindSafe for LoweredArgSnapshot
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more