Skip to main content

Constrained

Trait Constrained 

Source
pub trait Constrained {
    type Constraint: Copy;

    // Required method
    fn validate(
        slot: Slot<'_, Self>,
        constraint: Self::Constraint,
    ) -> Result<(), ValidationError>;
}
Expand description

Implemented by types that have constraints that can be validated.

Required Associated Types§

Source

type Constraint: Copy

Type of constraint information for this type.

Required Methods§

Source

fn validate( slot: Slot<'_, Self>, constraint: Self::Constraint, ) -> Result<(), ValidationError>

Validate a slot of this type against a constraint. Can be called when pointers/envelopes are just presence markers.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Constrained for bool

Source§

impl Constrained for i8

Source§

impl Constrained for u8

Source§

impl Constrained for ()

Source§

impl<T: Constrained, const N: usize> Constrained for [T; N]

Source§

type Constraint = <T as Constrained>::Constraint

Source§

fn validate( slot: Slot<'_, Self>, constraint: Self::Constraint, ) -> Result<(), ValidationError>

Implementors§

Source§

impl Constrained for Never

Source§

impl Constrained for EmptyStruct

Source§

impl Constrained for Bti

Source§

impl Constrained for Channel

Source§

impl Constrained for Clock

Source§

impl Constrained for Counter

Source§

impl Constrained for DebugLog

Source§

impl Constrained for Event

Source§

impl Constrained for EventPair

Source§

impl Constrained for Exception

Source§

impl Constrained for Fifo

Source§

impl Constrained for Guest

Source§

impl Constrained for Interrupt

Source§

impl Constrained for Iob

Source§

impl Constrained for Iommu

Source§

impl Constrained for Job

Source§

impl Constrained for ObjectType

Source§

impl Constrained for OptionalBti

Source§

impl Constrained for OptionalChannel

Source§

impl Constrained for OptionalClock

Source§

impl Constrained for OptionalCounter

Source§

impl Constrained for OptionalDebugLog

Source§

impl Constrained for OptionalEvent

Source§

impl Constrained for OptionalEventPair

Source§

impl Constrained for OptionalException

Source§

impl Constrained for OptionalFifo

Source§

impl Constrained for OptionalGuest

Source§

impl Constrained for OptionalHandle

Source§

impl Constrained for OptionalInterrupt

Source§

impl Constrained for OptionalIob

Source§

impl Constrained for OptionalIommu

Source§

impl Constrained for OptionalJob

Source§

impl Constrained for OptionalPager

Source§

impl Constrained for OptionalPmt

Source§

impl Constrained for OptionalPort

Source§

impl Constrained for OptionalProcess

Source§

impl Constrained for OptionalProfile

Source§

impl Constrained for OptionalResource

Source§

impl Constrained for OptionalSocket

Source§

impl Constrained for OptionalStream

Source§

impl Constrained for OptionalThread

Source§

impl Constrained for OptionalTimer

Source§

impl Constrained for OptionalVcpu

Source§

impl Constrained for OptionalVmar

Source§

impl Constrained for OptionalVmo

Source§

impl Constrained for Pager

Source§

impl Constrained for Pmt

Source§

impl Constrained for Port

Source§

impl Constrained for Process

Source§

impl Constrained for Profile

Source§

impl Constrained for Resource

Source§

impl Constrained for Rights

Source§

impl Constrained for Socket

Source§

impl Constrained for Stream

Source§

impl Constrained for Thread

Source§

impl Constrained for Timer

Source§

impl Constrained for Vcpu

Source§

impl Constrained for Vmar

Source§

impl Constrained for Vmo

Source§

impl Constrained for Float32

Source§

impl Constrained for Float64

Source§

impl Constrained for Int16

Source§

impl Constrained for Int32

Source§

impl Constrained for Int64

Source§

impl Constrained for OptionalString<'_>

Source§

impl Constrained for String<'_>

Source§

impl Constrained for Table<'_>

Source§

impl Constrained for Uint16

Source§

impl Constrained for Uint32

Source§

impl Constrained for Uint64

Source§

impl Constrained for Union

Source§

impl Constrained for Handle

Source§

impl Constrained for Envelope

Source§

impl<T, E> Constrained for Result<'_, T, E>
where T: Constrained<Constraint = ()>, E: Constrained<Constraint = ()>,

Source§

impl<T: Constrained> Constrained for Box<'_, T>

Source§

impl<T: Constrained> Constrained for OptionalVector<'_, T>

Source§

impl<T: Constrained> Constrained for Vector<'_, T>