Trait gluon_vm::api::VmType [] [src]

pub trait VmType {
    type Type: ?Sized + Any;
    fn make_type(vm: &Thread) -> ArcType { ... }
fn extra_args() -> VmIndex { ... } }

Trait which maps a type in rust to a type in gluon

Associated Types

A version of Self which implements Any allowing a TypeId to be retrieved

Provided Methods

Creates an gluon type which maps to Self in rust

How many extra arguments a function returning this type requires. Used for abstract types which when used in return position should act like they still need more arguments before they are called

Implementations on Foreign Types

impl<'vm, T: ?Sized + VmType> VmType for &'vm T
[src]

impl VmType for ()
[src]

[src]

[src]

impl VmType for u8
[src]

[src]

[src]

impl VmType for i16
[src]

impl VmType for i32
[src]

impl VmType for i64
[src]

impl VmType for u16
[src]

impl VmType for u32
[src]

impl VmType for u64
[src]

impl VmType for usize
[src]

impl VmType for isize
[src]

impl VmType for f64
[src]

[src]

[src]

impl VmType for bool
[src]

[src]

[src]

impl VmType for Ordering
[src]

[src]

[src]

impl VmType for str
[src]

impl VmType for String
[src]

impl VmType for char
[src]

[src]

[src]

impl<'s, T: VmType> VmType for Ref<'s, T>
[src]

impl<'s, T> VmType for &'s [T] where
    T: VmType + ArrayRepr + 's,
    T::Type: Sized
[src]

impl<T> VmType for Vec<T> where
    T: VmType,
    T::Type: Sized
[src]

[src]

[src]

impl<'s, T: VmType> VmType for *const T
[src]

impl<T: VmType> VmType for Option<T> where
    T::Type: Sized
[src]

impl<T: VmType, E: VmType> VmType for StdResult<T, E> where
    T::Type: Sized,
    E::Type: Sized
[src]

impl<_0, _1, _2, _3, _4, _5, _6> VmType for (_0, _1, _2, _3, _4, _5, _6) where
    _0: VmType,
    _1: VmType,
    _2: VmType,
    _3: VmType,
    _4: VmType,
    _5: VmType,
    _6: VmType,
    _0::Type: Sized,
    _1::Type: Sized,
    _2::Type: Sized,
    _3::Type: Sized,
    _4::Type: Sized,
    _5::Type: Sized,
    _6::Type: Sized
[src]

[src]

[src]

impl<_1, _2, _3, _4, _5, _6> VmType for (_1, _2, _3, _4, _5, _6) where
    _1: VmType,
    _2: VmType,
    _3: VmType,
    _4: VmType,
    _5: VmType,
    _6: VmType,
    _1::Type: Sized,
    _2::Type: Sized,
    _3::Type: Sized,
    _4::Type: Sized,
    _5::Type: Sized,
    _6::Type: Sized
[src]

[src]

[src]

impl<_2, _3, _4, _5, _6> VmType for (_2, _3, _4, _5, _6) where
    _2: VmType,
    _3: VmType,
    _4: VmType,
    _5: VmType,
    _6: VmType,
    _2::Type: Sized,
    _3::Type: Sized,
    _4::Type: Sized,
    _5::Type: Sized,
    _6::Type: Sized
[src]

[src]

[src]

impl<_3, _4, _5, _6> VmType for (_3, _4, _5, _6) where
    _3: VmType,
    _4: VmType,
    _5: VmType,
    _6: VmType,
    _3::Type: Sized,
    _4::Type: Sized,
    _5::Type: Sized,
    _6::Type: Sized
[src]

[src]

[src]

impl<_4, _5, _6> VmType for (_4, _5, _6) where
    _4: VmType,
    _5: VmType,
    _6: VmType,
    _4::Type: Sized,
    _5::Type: Sized,
    _6::Type: Sized
[src]

[src]

[src]

impl<_5, _6> VmType for (_5, _6) where
    _5: VmType,
    _6: VmType,
    _5::Type: Sized,
    _6::Type: Sized
[src]

[src]

[src]

impl<R: VmType> VmType for fn() -> R
[src]

[src]

[src]

impl<'s, R: VmType> VmType for Fn() -> R + 's
[src]

[src]

[src]

impl<A: VmType, R: VmType> VmType for fn(_: A) -> R
[src]

[src]

[src]

impl<'s, A: VmType, R: VmType> VmType for Fn(A) -> R + 's
[src]

[src]

[src]

impl<A: VmType, B: VmType, R: VmType> VmType for fn(_: A, _: B) -> R
[src]

[src]

[src]

impl<'s, A: VmType, B: VmType, R: VmType> VmType for Fn(A, B) -> R + 's
[src]

[src]

[src]

impl<A: VmType, B: VmType, C: VmType, R: VmType> VmType for fn(_: A, _: B, _: C) -> R
[src]

[src]

[src]

impl<'s, A: VmType, B: VmType, C: VmType, R: VmType> VmType for Fn(A, B, C) -> R + 's
[src]

[src]

[src]

impl<A: VmType, B: VmType, C: VmType, D: VmType, R: VmType> VmType for fn(_: A, _: B, _: C, _: D) -> R
[src]

[src]

[src]

impl<'s, A: VmType, B: VmType, C: VmType, D: VmType, R: VmType> VmType for Fn(A, B, C, D) -> R + 's
[src]

[src]

[src]

impl<A: VmType, B: VmType, C: VmType, D: VmType, E: VmType, R: VmType> VmType for fn(_: A, _: B, _: C, _: D, _: E) -> R
[src]

[src]

[src]

impl<'s, A: VmType, B: VmType, C: VmType, D: VmType, E: VmType, R: VmType> VmType for Fn(A, B, C, D, E) -> R + 's
[src]

[src]

[src]

impl<A: VmType, B: VmType, C: VmType, D: VmType, E: VmType, F: VmType, R: VmType> VmType for fn(_: A, _: B, _: C, _: D, _: E, _: F) -> R
[src]

[src]

[src]

impl<'s, A: VmType, B: VmType, C: VmType, D: VmType, E: VmType, F: VmType, R: VmType> VmType for Fn(A, B, C, D, E, F) -> R + 's
[src]

[src]

[src]

impl<A: VmType, B: VmType, C: VmType, D: VmType, E: VmType, F: VmType, G: VmType, R: VmType> VmType for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> R
[src]

[src]

[src]

impl<'s, A: VmType, B: VmType, C: VmType, D: VmType, E: VmType, F: VmType, G: VmType, R: VmType> VmType for Fn(A, B, C, D, E, F, G) -> R + 's
[src]

[src]

[src]

Implementors