Skip to main content

TypeSet

Trait TypeSet 

Source
pub trait TypeSet {
    type Set: ?Sized;

    // Required method
    fn members() -> &'static [TypeId]
       where Self: 'static;
}
Expand description

The main trait for representing a set of types.

This is implemented for tuples up to 24 elements, and [Set]s of tuples.

Required Associated Types§

Source

type Set: ?Sized

The underlying set type, which is a private marker-trait.

Required Methods§

Source

fn members() -> &'static [TypeId]
where Self: 'static,

Returns a static slice of TypeIds representing the members of the set.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl TypeSet for ()

Source§

type Set = dyn Contains0

Source§

fn members() -> &'static [TypeId]

Source§

impl TypeSet for Infallible

Source§

type Set = ()

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24> TypeSet for (E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24)

Source§

type Set = dyn Contains24<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23> TypeSet for (E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23)

Source§

type Set = dyn Contains23<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22> TypeSet for (E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22)

Source§

type Set = dyn Contains22<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21> TypeSet for (E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21)

Source§

type Set = dyn Contains21<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20> TypeSet for (E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20)

Source§

type Set = dyn Contains20<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19> TypeSet for (E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19)

Source§

type Set = dyn Contains19<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18> TypeSet for (E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18)

Source§

type Set = dyn Contains18<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17> TypeSet for (E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17)

Source§

type Set = dyn Contains17<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16> TypeSet for (E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16)

Source§

type Set = dyn Contains16<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15> TypeSet for (E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15)

Source§

type Set = dyn Contains15<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14> TypeSet for (E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14)

Source§

type Set = dyn Contains14<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13> TypeSet for (E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13)

Source§

type Set = dyn Contains13<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12> TypeSet for (E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12)

Source§

type Set = dyn Contains12<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11> TypeSet for (E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11)

Source§

type Set = dyn Contains11<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10> TypeSet for (E1, E2, E3, E4, E5, E6, E7, E8, E9, E10)

Source§

type Set = dyn Contains10<E1, E2, E3, E4, E5, E6, E7, E8, E9, E10>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1, E2, E3, E4, E5, E6, E7, E8, E9> TypeSet for (E1, E2, E3, E4, E5, E6, E7, E8, E9)

Source§

type Set = dyn Contains9<E1, E2, E3, E4, E5, E6, E7, E8, E9>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1, E2, E3, E4, E5, E6, E7, E8> TypeSet for (E1, E2, E3, E4, E5, E6, E7, E8)

Source§

type Set = dyn Contains8<E1, E2, E3, E4, E5, E6, E7, E8>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1, E2, E3, E4, E5, E6, E7> TypeSet for (E1, E2, E3, E4, E5, E6, E7)

Source§

type Set = dyn Contains7<E1, E2, E3, E4, E5, E6, E7>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1, E2, E3, E4, E5, E6> TypeSet for (E1, E2, E3, E4, E5, E6)

Source§

type Set = dyn Contains6<E1, E2, E3, E4, E5, E6>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1, E2, E3, E4, E5> TypeSet for (E1, E2, E3, E4, E5)

Source§

type Set = dyn Contains5<E1, E2, E3, E4, E5>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1, E2, E3, E4> TypeSet for (E1, E2, E3, E4)

Source§

type Set = dyn Contains4<E1, E2, E3, E4>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1, E2, E3> TypeSet for (E1, E2, E3)

Source§

type Set = dyn Contains3<E1, E2, E3>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1, E2> TypeSet for (E1, E2)

Source§

type Set = dyn Contains2<E1, E2>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Source§

impl<E1> TypeSet for (E1,)

Source§

type Set = dyn Contains1<E1>

Source§

fn members() -> &'static [TypeId]
where Self: 'static,

Implementors§

Source§

impl<T> TypeSet for Set<T>
where T: TypeSet,

Source§

type Set = <T as TypeSet>::Set