Trait gstd::prelude::TypeInfo

pub trait TypeInfo {
    type Identity: 'static + ?Sized;

    // Required method
    fn type_info() -> Type;
}
Expand description

Implementors return their meta type information.

Required Associated Types§

type Identity: 'static + ?Sized

The type identifying for which type info is provided.

§Note

This is used to uniquely identify a type via core::any::TypeId::of. In most cases it will just be Self, but can be used to unify different types which have the same encoded representation e.g. reference types Box<T>, &T and &mut T.

Required Methods§

fn type_info() -> Type

Returns the static type identifier for Self.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

§

impl TypeInfo for bool

§

type Identity = bool

§

fn type_info() -> Type

§

impl TypeInfo for char

§

type Identity = char

§

fn type_info() -> Type

§

impl TypeInfo for i8

§

type Identity = i8

§

fn type_info() -> Type

§

impl TypeInfo for i16

§

type Identity = i16

§

fn type_info() -> Type

§

impl TypeInfo for i32

§

type Identity = i32

§

fn type_info() -> Type

§

impl TypeInfo for i64

§

type Identity = i64

§

fn type_info() -> Type

§

impl TypeInfo for i128

§

type Identity = i128

§

fn type_info() -> Type

§

impl TypeInfo for str

§

type Identity = str

§

fn type_info() -> Type

§

impl TypeInfo for u8

§

type Identity = u8

§

fn type_info() -> Type

§

impl TypeInfo for u16

§

type Identity = u16

§

fn type_info() -> Type

§

impl TypeInfo for u32

§

type Identity = u32

§

fn type_info() -> Type

§

impl TypeInfo for u64

§

type Identity = u64

§

fn type_info() -> Type

§

impl TypeInfo for u128

§

type Identity = u128

§

fn type_info() -> Type

§

impl TypeInfo for ()

§

type Identity = ()

§

fn type_info() -> Type

§

impl TypeInfo for H128

§

type Identity = H128

§

fn type_info() -> Type

§

impl TypeInfo for H160

§

type Identity = H160

§

fn type_info() -> Type

§

impl TypeInfo for H256

§

type Identity = H256

§

fn type_info() -> Type

§

impl TypeInfo for H384

§

type Identity = H384

§

fn type_info() -> Type

§

impl TypeInfo for H512

§

type Identity = H512

§

fn type_info() -> Type

§

impl TypeInfo for H768

§

type Identity = H768

§

fn type_info() -> Type

§

impl TypeInfo for Lsb0

§

type Identity = Lsb0

§

fn type_info() -> Type

§

impl TypeInfo for Msb0

§

type Identity = Msb0

§

fn type_info() -> Type

§

impl TypeInfo for U128

§

type Identity = U128

§

fn type_info() -> Type

§

impl TypeInfo for U256

§

type Identity = U256

§

fn type_info() -> Type

§

impl TypeInfo for U512

§

type Identity = U512

§

fn type_info() -> Type

§

impl<A> TypeInfo for (A,)
where A: TypeInfo + 'static,

§

type Identity = (A,)

§

fn type_info() -> Type

§

impl<A, B> TypeInfo for (A, B)
where A: TypeInfo + 'static, B: TypeInfo + 'static,

§

type Identity = (A, B)

§

fn type_info() -> Type

§

impl<A, B, C> TypeInfo for (A, B, C)
where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static,

§

type Identity = (A, B, C)

§

fn type_info() -> Type

§

impl<A, B, C, D> TypeInfo for (A, B, C, D)
where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static,

§

impl<A, B, C, D, E> TypeInfo for (A, B, C, D, E)
where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static,

§

impl<A, B, C, D, E, F> TypeInfo for (A, B, C, D, E, F)
where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static,

§

impl<A, B, C, D, E, F, G> TypeInfo for (A, B, C, D, E, F, G)
where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static,

§

impl<A, B, C, D, E, F, G, H> TypeInfo for (A, B, C, D, E, F, G, H)
where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static,

§

impl<A, B, C, D, E, F, G, H, I> TypeInfo for (A, B, C, D, E, F, G, H, I)
where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static,

§

impl<A, B, C, D, E, F, G, H, I, J> TypeInfo for (A, B, C, D, E, F, G, H, I, J)
where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static, J: TypeInfo + 'static,

§

impl<A, B, C, D, E, F, G, H, I, J, K> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K)
where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static, J: TypeInfo + 'static, K: TypeInfo + 'static,

§

impl<A, B, C, D, E, F, G, H, I, J, K, L> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L)
where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static, J: TypeInfo + 'static, K: TypeInfo + 'static, L: TypeInfo + 'static,

§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M)
where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static, J: TypeInfo + 'static, K: TypeInfo + 'static, L: TypeInfo + 'static, M: TypeInfo + 'static,

§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)
where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static, J: TypeInfo + 'static, K: TypeInfo + 'static, L: TypeInfo + 'static, M: TypeInfo + 'static, N: TypeInfo + 'static,

§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)
where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static, J: TypeInfo + 'static, K: TypeInfo + 'static, L: TypeInfo + 'static, M: TypeInfo + 'static, N: TypeInfo + 'static, O: TypeInfo + 'static,

§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)
where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static, J: TypeInfo + 'static, K: TypeInfo + 'static, L: TypeInfo + 'static, M: TypeInfo + 'static, N: TypeInfo + 'static, O: TypeInfo + 'static, P: TypeInfo + 'static,

§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)
where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static, J: TypeInfo + 'static, K: TypeInfo + 'static, L: TypeInfo + 'static, M: TypeInfo + 'static, N: TypeInfo + 'static, O: TypeInfo + 'static, P: TypeInfo + 'static, Q: TypeInfo + 'static,

§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)
where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static, J: TypeInfo + 'static, K: TypeInfo + 'static, L: TypeInfo + 'static, M: TypeInfo + 'static, N: TypeInfo + 'static, O: TypeInfo + 'static, P: TypeInfo + 'static, Q: TypeInfo + 'static, R: TypeInfo + 'static,

§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S)
where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static, J: TypeInfo + 'static, K: TypeInfo + 'static, L: TypeInfo + 'static, M: TypeInfo + 'static, N: TypeInfo + 'static, O: TypeInfo + 'static, P: TypeInfo + 'static, Q: TypeInfo + 'static, R: TypeInfo + 'static, S: TypeInfo + 'static,

§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T> TypeInfo for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)
where A: TypeInfo + 'static, B: TypeInfo + 'static, C: TypeInfo + 'static, D: TypeInfo + 'static, E: TypeInfo + 'static, F: TypeInfo + 'static, G: TypeInfo + 'static, H: TypeInfo + 'static, I: TypeInfo + 'static, J: TypeInfo + 'static, K: TypeInfo + 'static, L: TypeInfo + 'static, M: TypeInfo + 'static, N: TypeInfo + 'static, O: TypeInfo + 'static, P: TypeInfo + 'static, Q: TypeInfo + 'static, R: TypeInfo + 'static, S: TypeInfo + 'static, T: TypeInfo + 'static,

§

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

§

type Identity = T

§

fn type_info() -> Type

§

impl<T> TypeInfo for &mut T
where T: TypeInfo + 'static + ?Sized,

§

type Identity = T

§

fn type_info() -> Type

§

impl<T> TypeInfo for [T]
where T: TypeInfo + 'static,

§

type Identity = [T]

§

fn type_info() -> Type

§

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

§

type Identity = T

§

fn type_info() -> Type

§

impl<T> TypeInfo for Compact<T>
where T: TypeInfo + 'static,

§

type Identity = Compact<T>

§

fn type_info() -> Type

§

impl<T, O> TypeInfo for BitVec<T, O>
where T: BitStore + TypeInfo + 'static, O: BitOrder + TypeInfo + 'static,

§

type Identity = BitVec<T, O>

§

fn type_info() -> Type

§

impl<T, const N: usize> TypeInfo for [T; N]
where T: TypeInfo + 'static,

§

type Identity = [T; N]

§

fn type_info() -> Type

Implementors§

§

impl TypeInfo for ErrorReplyReason

§

impl TypeInfo for ReplyCode

§

impl TypeInfo for SignalCode

§

impl TypeInfo for SimpleExecutionError

§

impl TypeInfo for SimpleProgramCreationError

§

impl TypeInfo for SuccessReplyReason

source§

impl TypeInfo for ActorId

source§

impl TypeInfo for CodeId

source§

impl TypeInfo for MessageId

source§

impl TypeInfo for Reservation

source§

impl TypeInfo for ReservationId

source§

impl TypeInfo for Reservations

§

impl TypeInfo for NonZeroI8

§

impl TypeInfo for NonZeroI16

§

impl TypeInfo for NonZeroI32

§

impl TypeInfo for NonZeroI64

§

impl TypeInfo for NonZeroI128

§

impl TypeInfo for NonZeroU8

§

impl TypeInfo for NonZeroU16

§

impl TypeInfo for NonZeroU32

§

impl TypeInfo for NonZeroU64

§

impl TypeInfo for NonZeroU128

§

impl TypeInfo for String

§

impl TypeInfo for Duration

§

impl<Idx> TypeInfo for Range<Idx>
where Idx: TypeInfo + 'static + PartialOrd + Debug,

§

type Identity = Range<Idx>

§

impl<Idx> TypeInfo for RangeInclusive<Idx>
where Idx: TypeInfo + 'static + PartialOrd + Debug,

§

impl<K, V> TypeInfo for BTreeMap<K, V>
where K: TypeInfo + 'static, V: TypeInfo + 'static,

§

type Identity = BTreeMap<K, V>

§

impl<T> TypeInfo for Cow<'static, T>
where T: ToOwned + TypeInfo + 'static + ?Sized,

§

type Identity = Cow<'static, T>

§

impl<T> TypeInfo for Option<T>
where T: TypeInfo + 'static,

§

type Identity = Option<T>

§

impl<T> TypeInfo for BTreeSet<T>
where T: TypeInfo + 'static,

§

impl<T> TypeInfo for VecDeque<T>
where T: TypeInfo + 'static,

§

impl<T> TypeInfo for PhantomData<T>

§

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

§

type Identity = T

§

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

§

type Identity = T

§

impl<T> TypeInfo for Vec<T>
where T: TypeInfo + 'static,

§

impl<T, E> TypeInfo for Result<T, E>
where T: TypeInfo + 'static, E: TypeInfo + 'static,

§

type Identity = Result<T, E>