Struct veloren_common::comp::body::item_drop::body::Cases

source ·
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>,

source§

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>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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>,

source§

fn reduce(self, ((head), context): ((&'a Body,), 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>

§

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>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<Context> SubContext<Context> for Context

source§

fn sub_context(self) -> Context

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

§

impl<T> Event for T
where T: Send + Sync + 'static,

§

impl<T> Resource for T
where T: Any + Send + Sync,

§

impl<T> Storable for T
where T: Send + Sync + 'static,