pub struct CanDestroy<Condition = ()>(pub Condition);
Expand description
The CanDestroy
strategy represents the ability to destroy an asset.
It is both an inspect and update
strategy.
- As the inspect strategy, it returns
bool
. - As the update strategy, it accepts
bool
.
By default, this strategy means the ability to destroy an asset “in general”.
However, a user can define several variants of this strategy by supplying the Condition
type. Using the Condition
value, we are formulating the question, “Can this be destroyed
under the given condition?”. For instance, “Can a specific user destroy an asset of
another user?”.
Tuple Fields§
§0: Condition
Trait Implementations§
Source§impl Default for CanDestroy<()>
impl Default for CanDestroy<()>
Source§impl<Condition> InspectStrategy for CanDestroy<Condition>
impl<Condition> InspectStrategy for CanDestroy<Condition>
Source§impl<Condition> UpdateStrategy for CanDestroy<Condition>
impl<Condition> UpdateStrategy for CanDestroy<Condition>
Auto Trait Implementations§
impl<Condition> Freeze for CanDestroy<Condition>where
Condition: Freeze,
impl<Condition> RefUnwindSafe for CanDestroy<Condition>where
Condition: RefUnwindSafe,
impl<Condition> Send for CanDestroy<Condition>where
Condition: Send,
impl<Condition> Sync for CanDestroy<Condition>where
Condition: Sync,
impl<Condition> Unpin for CanDestroy<Condition>where
Condition: Unpin,
impl<Condition> UnwindSafe for CanDestroy<Condition>where
Condition: UnwindSafe,
Blanket Implementations§
Source§impl<T> AsCanUpdate for Twhere
T: UpdateStrategy,
impl<T> AsCanUpdate for Twhere
T: UpdateStrategy,
fn as_can_update(self) -> CanUpdate<T>
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
Mutably borrows from an owned value. Read more
Source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
Source§impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
Source§fn defensive_truncate_into(self) -> U
fn defensive_truncate_into(self) -> U
Defensively truncate a value and convert it into its bounded form.
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> ⓘ
Converts
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> ⓘ
Converts
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 moreSource§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
Source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
Source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
Source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
Source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T
. Read moreSource§impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
type Error = <U as TryFromKey<T>>::Error
fn try_into_key(self) -> Result<U, <U as TryFromKey<T>>::Error>
Source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
Source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.Source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
Source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.