Skip to main content

GuestTypeTransparent

Trait GuestTypeTransparent 

Source
pub unsafe trait GuestTypeTransparent<'a>: GuestType<'a> {
    // Required method
    fn validate(ptr: *mut Self) -> Result<(), GuestError>;
}
Expand description

A trait for GuestTypes that have the same representation in guest memory as in Rust. These types can be used with the GuestPtr::as_raw method to view as a slice.

Unsafe trait because a correct GuestTypeTransparent implemengation ensures that the GuestPtr::as_raw methods are safe. This trait should only ever be implemented by wiggle_generate-produced code.

Required Methods§

Source

fn validate(ptr: *mut Self) -> Result<(), GuestError>

Checks that the memory at ptr is a valid representation of Self.

Assumes that memory safety checks have already been performed: ptr has been checked to be aligned correctly and reside in memory using GuestMemory::validate_size_align

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<'a> GuestTypeTransparent<'a> for f32

Source§

impl<'a> GuestTypeTransparent<'a> for f64

Source§

impl<'a> GuestTypeTransparent<'a> for i8

Source§

impl<'a> GuestTypeTransparent<'a> for i16

Source§

impl<'a> GuestTypeTransparent<'a> for i32

Source§

impl<'a> GuestTypeTransparent<'a> for i64

Source§

impl<'a> GuestTypeTransparent<'a> for i128

Source§

impl<'a> GuestTypeTransparent<'a> for u8

Source§

impl<'a> GuestTypeTransparent<'a> for u16

Source§

impl<'a> GuestTypeTransparent<'a> for u32

Source§

impl<'a> GuestTypeTransparent<'a> for u64

Source§

impl<'a> GuestTypeTransparent<'a> for u128

Implementors§