pub struct Cases<Elim: PackedElim> {
pub Tool: Elim::Tool,
pub ModularComponent: Elim::ModularComponent,
pub Lantern: Elim::Lantern,
pub Glider: Elim::Glider,
pub Armor: Elim::Armor,
pub Utility: Elim::Utility,
pub Consumable: Elim::Consumable,
pub Throwable: Elim::Throwable,
pub Ingredient: Elim::Ingredient,
pub Coins: Elim::Coins,
pub CoinPouch: Elim::CoinPouch,
pub Empty: Elim::Empty,
}
Fields§
§Tool: Elim::Tool
§ModularComponent: Elim::ModularComponent
§Lantern: Elim::Lantern
§Glider: Elim::Glider
§Armor: Elim::Armor
§Utility: Elim::Utility
§Consumable: Elim::Consumable
§Throwable: Elim::Throwable
§Ingredient: Elim::Ingredient
§Coins: Elim::Coins
§CoinPouch: Elim::CoinPouch
§Empty: Elim::Empty
Trait Implementations§
source§impl<'de, Elim: PackedElim> Deserialize<'de> for Cases<Elim>where
Elim::Tool: Deserialize<'de>,
Elim::ModularComponent: Deserialize<'de>,
Elim::Lantern: Deserialize<'de>,
Elim::Glider: Deserialize<'de>,
Elim::Armor: Deserialize<'de>,
Elim::Utility: Deserialize<'de>,
Elim::Consumable: Deserialize<'de>,
Elim::Throwable: Deserialize<'de>,
Elim::Ingredient: Deserialize<'de>,
Elim::Coins: Deserialize<'de>,
Elim::CoinPouch: Deserialize<'de>,
Elim::Empty: Deserialize<'de>,
impl<'de, Elim: PackedElim> Deserialize<'de> for Cases<Elim>where
Elim::Tool: Deserialize<'de>,
Elim::ModularComponent: Deserialize<'de>,
Elim::Lantern: Deserialize<'de>,
Elim::Glider: Deserialize<'de>,
Elim::Armor: Deserialize<'de>,
Elim::Utility: Deserialize<'de>,
Elim::Consumable: Deserialize<'de>,
Elim::Throwable: Deserialize<'de>,
Elim::Ingredient: Deserialize<'de>,
Elim::Coins: Deserialize<'de>,
Elim::CoinPouch: Deserialize<'de>,
Elim::Empty: Deserialize<'de>,
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl<Elim: PackedElim> Serialize for Cases<Elim>where
Elim::Tool: Serialize,
Elim::ModularComponent: Serialize,
Elim::Lantern: Serialize,
Elim::Glider: Serialize,
Elim::Armor: Serialize,
Elim::Utility: Serialize,
Elim::Consumable: Serialize,
Elim::Throwable: Serialize,
Elim::Ingredient: Serialize,
Elim::Coins: Serialize,
Elim::CoinPouch: Serialize,
Elim::Empty: Serialize,
impl<Elim: PackedElim> Serialize for Cases<Elim>where
Elim::Tool: Serialize,
Elim::ModularComponent: Serialize,
Elim::Lantern: Serialize,
Elim::Glider: Serialize,
Elim::Armor: Serialize,
Elim::Utility: Serialize,
Elim::Consumable: Serialize,
Elim::Throwable: Serialize,
Elim::Ingredient: Serialize,
Elim::Coins: Serialize,
Elim::CoinPouch: Serialize,
Elim::Empty: Serialize,
source§impl<'a, 'b, Elim: PackedElim, Context, Type, S> Typed<((&'a Body,), Context), Type, S> for &'b ElimCase<Cases<Elim>>where
&'b Elim::Tool: Typed<((&'a ToolKind,), Context), Type, S>,
&'b Elim::ModularComponent: Typed<Context, Type, S>,
&'b Elim::Lantern: Typed<Context, Type, S>,
&'b Elim::Glider: Typed<Context, Type, S>,
&'b Elim::Armor: Typed<((&'a ItemDropArmorKind,), Context), Type, S>,
&'b Elim::Utility: Typed<Context, Type, S>,
&'b Elim::Consumable: Typed<Context, Type, S>,
&'b Elim::Throwable: Typed<Context, Type, S>,
&'b Elim::Ingredient: Typed<Context, Type, S>,
&'b Elim::Coins: Typed<Context, Type, S>,
&'b Elim::CoinPouch: Typed<Context, Type, S>,
&'b Elim::Empty: Typed<Context, Type, S>,
impl<'a, 'b, Elim: PackedElim, Context, Type, S> Typed<((&'a Body,), Context), Type, S> for &'b ElimCase<Cases<Elim>>where
&'b Elim::Tool: Typed<((&'a ToolKind,), Context), Type, S>,
&'b Elim::ModularComponent: Typed<Context, Type, S>,
&'b Elim::Lantern: Typed<Context, Type, S>,
&'b Elim::Glider: Typed<Context, Type, S>,
&'b Elim::Armor: Typed<((&'a ItemDropArmorKind,), Context), Type, S>,
&'b Elim::Utility: Typed<Context, Type, S>,
&'b Elim::Consumable: Typed<Context, Type, S>,
&'b Elim::Throwable: Typed<Context, Type, S>,
&'b Elim::Ingredient: Typed<Context, Type, S>,
&'b Elim::Coins: Typed<Context, Type, S>,
&'b Elim::CoinPouch: Typed<Context, Type, S>,
&'b Elim::Empty: Typed<Context, Type, S>,
Auto Trait Implementations§
impl<Elim> Freeze for Cases<Elim>where
<Elim as PackedElim>::Tool: Freeze,
<Elim as PackedElim>::ModularComponent: Freeze,
<Elim as PackedElim>::Lantern: Freeze,
<Elim as PackedElim>::Glider: Freeze,
<Elim as PackedElim>::Armor: Freeze,
<Elim as PackedElim>::Utility: Freeze,
<Elim as PackedElim>::Consumable: Freeze,
<Elim as PackedElim>::Throwable: Freeze,
<Elim as PackedElim>::Ingredient: Freeze,
<Elim as PackedElim>::Coins: Freeze,
<Elim as PackedElim>::CoinPouch: Freeze,
<Elim as PackedElim>::Empty: Freeze,
impl<Elim> RefUnwindSafe for Cases<Elim>where
<Elim as PackedElim>::Tool: RefUnwindSafe,
<Elim as PackedElim>::ModularComponent: RefUnwindSafe,
<Elim as PackedElim>::Lantern: RefUnwindSafe,
<Elim as PackedElim>::Glider: RefUnwindSafe,
<Elim as PackedElim>::Armor: RefUnwindSafe,
<Elim as PackedElim>::Utility: RefUnwindSafe,
<Elim as PackedElim>::Consumable: RefUnwindSafe,
<Elim as PackedElim>::Throwable: RefUnwindSafe,
<Elim as PackedElim>::Ingredient: RefUnwindSafe,
<Elim as PackedElim>::Coins: RefUnwindSafe,
<Elim as PackedElim>::CoinPouch: RefUnwindSafe,
<Elim as PackedElim>::Empty: RefUnwindSafe,
impl<Elim> Send for Cases<Elim>where
<Elim as PackedElim>::Tool: Send,
<Elim as PackedElim>::ModularComponent: Send,
<Elim as PackedElim>::Lantern: Send,
<Elim as PackedElim>::Glider: Send,
<Elim as PackedElim>::Armor: Send,
<Elim as PackedElim>::Utility: Send,
<Elim as PackedElim>::Consumable: Send,
<Elim as PackedElim>::Throwable: Send,
<Elim as PackedElim>::Ingredient: Send,
<Elim as PackedElim>::Coins: Send,
<Elim as PackedElim>::CoinPouch: Send,
<Elim as PackedElim>::Empty: Send,
impl<Elim> Sync for Cases<Elim>where
<Elim as PackedElim>::Tool: Sync,
<Elim as PackedElim>::ModularComponent: Sync,
<Elim as PackedElim>::Lantern: Sync,
<Elim as PackedElim>::Glider: Sync,
<Elim as PackedElim>::Armor: Sync,
<Elim as PackedElim>::Utility: Sync,
<Elim as PackedElim>::Consumable: Sync,
<Elim as PackedElim>::Throwable: Sync,
<Elim as PackedElim>::Ingredient: Sync,
<Elim as PackedElim>::Coins: Sync,
<Elim as PackedElim>::CoinPouch: Sync,
<Elim as PackedElim>::Empty: Sync,
impl<Elim> Unpin for Cases<Elim>where
<Elim as PackedElim>::Tool: Unpin,
<Elim as PackedElim>::ModularComponent: Unpin,
<Elim as PackedElim>::Lantern: Unpin,
<Elim as PackedElim>::Glider: Unpin,
<Elim as PackedElim>::Armor: Unpin,
<Elim as PackedElim>::Utility: Unpin,
<Elim as PackedElim>::Consumable: Unpin,
<Elim as PackedElim>::Throwable: Unpin,
<Elim as PackedElim>::Ingredient: Unpin,
<Elim as PackedElim>::Coins: Unpin,
<Elim as PackedElim>::CoinPouch: Unpin,
<Elim as PackedElim>::Empty: Unpin,
impl<Elim> UnwindSafe for Cases<Elim>where
<Elim as PackedElim>::Tool: UnwindSafe,
<Elim as PackedElim>::ModularComponent: UnwindSafe,
<Elim as PackedElim>::Lantern: UnwindSafe,
<Elim as PackedElim>::Glider: UnwindSafe,
<Elim as PackedElim>::Armor: UnwindSafe,
<Elim as PackedElim>::Utility: UnwindSafe,
<Elim as PackedElim>::Consumable: UnwindSafe,
<Elim as PackedElim>::Throwable: UnwindSafe,
<Elim as PackedElim>::Ingredient: UnwindSafe,
<Elim as PackedElim>::Coins: UnwindSafe,
<Elim as PackedElim>::CoinPouch: UnwindSafe,
<Elim as PackedElim>::Empty: UnwindSafe,
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
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more