Struct dacquiri::prelude::ConstraintChain
source · [−]pub struct ConstraintChain<const STAG: &'static str, const RTAG: &'static str, Attr, Next> { /* private fields */ }
Trait Implementations
sourceimpl<const STAG: &'static str, const RTAG: &'static str, Attr, Next> ConstraintT for ConstraintChain<STAG, RTAG, Attr, Next> where
Attr: BaseAttribute,
Next: ConstraintT,
impl<const STAG: &'static str, const RTAG: &'static str, Attr, Next> ConstraintT for ConstraintChain<STAG, RTAG, Attr, Next> where
Attr: BaseAttribute,
Next: ConstraintT,
fn add_entity<T, const ETAG: &'static str>(
self,
entity: T
) -> ConstraintResult<EntityProof<ETAG, T, Self>> where
T: ConstraintEntity + 'static,
fn get_entity<T, const TAG: &'static str>(&self) -> &T where
T: ConstraintEntity + 'static,
Self: HasEntityWithType<TAG, T>,
fn get_entity_mut<T, const TAG: &'static str>(&mut self) -> &mut T where
T: ConstraintEntity + 'static,
Self: HasEntityWithType<TAG, T>,
sourceimpl<Next, ChainNext, EntityType, Attr, const STAG: &'static str, const RTAG: &'static str, const ETAG: &'static str> ShedNext<ETAG, EntityType, Next> for ConstraintChain<STAG, RTAG, Attr, ChainNext> where
Attr: BaseAttribute,
ChainNext: ShedNext<ETAG, EntityType, Next> + ConstraintT,
EntityType: ConstraintEntity + 'static,
impl<Next, ChainNext, EntityType, Attr, const STAG: &'static str, const RTAG: &'static str, const ETAG: &'static str> ShedNext<ETAG, EntityType, Next> for ConstraintChain<STAG, RTAG, Attr, ChainNext> where
Attr: BaseAttribute,
ChainNext: ShedNext<ETAG, EntityType, Next> + ConstraintT,
EntityType: ConstraintEntity + 'static,
fn shed(self) -> (EntityType, Next)
impl<Next, Attr, const STAG: &'static str, const RTAG: &'static str> HasConstraint<Attr, STAG, RTAG> for ConstraintChain<STAG, RTAG, Attr, Next> where
Attr: BaseAttribute,
Prove ConstraintChain<STAG, RTAG, Attr, _> => HasConstraint<Attr, STAG, RTAG>
impl<Next, Attr1, Attr2, const STAG1: &'static str, const STAG2: &'static str, const RTAG1: &'static str, const RTAG2: &'static str> HasConstraint<Attr2, STAG2, RTAG2> for ConstraintChain<STAG1, RTAG1, Attr1, Next> where
Attr1: BaseAttribute,
Attr2: BaseAttribute,
Next: HasConstraint<Attr2, STAG2, RTAG2>,
Prove ConstraintChain<_, _, _, HasConstraint<Attr2, STAG2, RTAG2>> => HasConstraint<Attr2, STAG2, RTAG2>
impl<Next, Attr, const STAG: &'static str, const RTAG: &'static str, const ETAG: &'static str> HasEntity<ETAG> for ConstraintChain<STAG, RTAG, Attr, Next> where
Attr: BaseAttribute,
Next: HasEntity<ETAG>,
Prove ConstraintChain<_, _, _, HasEntity
impl<Next, Attr, EntityType, const STAG: &'static str, const RTAG: &'static str, const ETAG: &'static str> HasEntityWithType<ETAG, EntityType> for ConstraintChain<STAG, RTAG, Attr, Next> where
Attr: BaseAttribute,
Next: HasEntityWithType<ETAG, EntityType>,
Prove ConstraintChain<_, _, _, HasEntityWithType<ETAG, EntityType>> => HasEntityWithType<ETAG, EntityType>
Auto Trait Implementations
impl<const STAG: &'static str, const RTAG: &'static str, Attr, Next> RefUnwindSafe for ConstraintChain<STAG, RTAG, Attr, Next> where
Attr: RefUnwindSafe,
Next: RefUnwindSafe,
impl<const STAG: &'static str, const RTAG: &'static str, Attr, Next> Send for ConstraintChain<STAG, RTAG, Attr, Next> where
Attr: Send,
Next: Send,
impl<const STAG: &'static str, const RTAG: &'static str, Attr, Next> Sync for ConstraintChain<STAG, RTAG, Attr, Next> where
Attr: Sync,
Next: Sync,
impl<const STAG: &'static str, const RTAG: &'static str, Attr, Next> Unpin for ConstraintChain<STAG, RTAG, Attr, Next> where
Attr: Unpin,
Next: Unpin,
impl<const STAG: &'static str, const RTAG: &'static str, Attr, Next> UnwindSafe for ConstraintChain<STAG, RTAG, Attr, Next> where
Attr: UnwindSafe,
Next: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more