[][src]Struct evobox::L

pub struct L<E, C = ()> { /* fields omitted */ }

A singly linked list containing types, indexed by itself using the List trait and used by EvolveBox to store all possible types.

For examples of its actual usage please look at the documentation for the EvolveBox.

Examples

use evobox::{L, List};

fn element_types(value: &L<u8, L<u16, L<u32>>>) {
    fn first(_: &impl List<(), Value = u8>) {}
    first(value);

    fn second(_: &impl List<L<()>, Value = u16>) {}
    second(value);

    fn third(_: &impl List<L<L<()>>, Value = u32>) {}
    third(value);
}

Trait Implementations

impl<E, C: ListLayout> ListLayout for L<E, C>[src]

impl<E, C: ListLayout> List<()> for L<E, C>[src]

type Value = E

impl<E, B, C: List<B>> List<L<B, ()>> for L<E, C>[src]

type Value = C::Value

Auto Trait Implementations

impl<E, C> Send for L<E, C>

impl<E, C> Sync for L<E, C>

impl<E, C> Unpin for L<E, C>

impl<E, C> UnwindSafe for L<E, C>

impl<E, C> RefUnwindSafe for L<E, C>

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = !

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]