[−][src]Trait gluon_vm::api::VmType
Trait which maps a type in rust to a type in gluon
Associated Types
Loading content...Provided methods
fn make_forall_type(vm: &Thread) -> ArcType
fn make_type(vm: &Thread) -> ArcType
Creates an gluon type which maps to Self
in rust
fn extra_args() -> VmIndex
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<R: VmType> VmType for fn() -> R
[src]
impl<'s, R: VmType> VmType for dyn Fn() -> R + 's
[src]
impl<A: VmType, R: VmType> VmType for fn(_: A) -> R
[src]
impl<'s, A: VmType, R: VmType> VmType for dyn Fn(A) -> R + 's
[src]
impl<A: VmType, B: VmType, R: VmType> VmType for fn(_: A, _: B) -> R
[src]
impl<'s, A: VmType, B: VmType, R: VmType> VmType for dyn Fn(A, B) -> R + 's
[src]
impl<A: VmType, B: VmType, C: VmType, R: VmType> VmType for fn(_: A, _: B, _: C) -> R
[src]
type Type = fn(_: A::Type, _: B::Type, _: C::Type) -> R::Type
fn make_type(vm: &Thread) -> ArcType
[src]
impl<'s, A: VmType, B: VmType, C: VmType, R: VmType> VmType for dyn Fn(A, B, C) -> R + 's
[src]
type Type = fn(_: A::Type, _: B::Type, _: C::Type) -> R::Type
fn make_type(vm: &Thread) -> ArcType
[src]
impl<A: VmType, B: VmType, C: VmType, D: VmType, R: VmType> VmType for fn(_: A, _: B, _: C, _: D) -> R
[src]
type Type = fn(_: A::Type, _: B::Type, _: C::Type, _: D::Type) -> R::Type
fn make_type(vm: &Thread) -> ArcType
[src]
impl<'s, A: VmType, B: VmType, C: VmType, D: VmType, R: VmType> VmType for dyn Fn(A, B, C, D) -> R + 's
[src]
type Type = fn(_: A::Type, _: B::Type, _: C::Type, _: D::Type) -> R::Type
fn make_type(vm: &Thread) -> ArcType
[src]
impl<A: VmType, B: VmType, C: VmType, D: VmType, E: VmType, R: VmType> VmType for fn(_: A, _: B, _: C, _: D, _: E) -> R
[src]
type Type = fn(_: A::Type, _: B::Type, _: C::Type, _: D::Type, _: E::Type) -> R::Type
fn make_type(vm: &Thread) -> ArcType
[src]
impl<'s, A: VmType, B: VmType, C: VmType, D: VmType, E: VmType, R: VmType> VmType for dyn Fn(A, B, C, D, E) -> R + 's
[src]
type Type = fn(_: A::Type, _: B::Type, _: C::Type, _: D::Type, _: E::Type) -> R::Type
fn make_type(vm: &Thread) -> ArcType
[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]
type Type = fn(_: A::Type, _: B::Type, _: C::Type, _: D::Type, _: E::Type, _: F::Type) -> R::Type
fn make_type(vm: &Thread) -> ArcType
[src]
impl<'s, A: VmType, B: VmType, C: VmType, D: VmType, E: VmType, F: VmType, R: VmType> VmType for dyn Fn(A, B, C, D, E, F) -> R + 's
[src]
type Type = fn(_: A::Type, _: B::Type, _: C::Type, _: D::Type, _: E::Type, _: F::Type) -> R::Type
fn make_type(vm: &Thread) -> ArcType
[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]
type Type = fn(_: A::Type, _: B::Type, _: C::Type, _: D::Type, _: E::Type, _: F::Type, _: G::Type) -> R::Type
fn make_type(vm: &Thread) -> ArcType
[src]
impl<'s, A: VmType, B: VmType, C: VmType, D: VmType, E: VmType, F: VmType, G: VmType, R: VmType> VmType for dyn Fn(A, B, C, D, E, F, G) -> R + 's
[src]
type Type = fn(_: A::Type, _: B::Type, _: C::Type, _: D::Type, _: E::Type, _: F::Type, _: G::Type) -> R::Type
fn make_type(vm: &Thread) -> ArcType
[src]
impl VmType for Value
[src]
impl<'vm, T: ?Sized + VmType> VmType for PhantomData<T>
[src]
type Type = T::Type
fn make_forall_type(vm: &Thread) -> ArcType
[src]
fn make_type(vm: &Thread) -> ArcType
[src]
fn extra_args() -> VmIndex
[src]
impl<'vm, T: ?Sized + VmType> VmType for &'vm T
[src]
impl<'vm, T: ?Sized + VmType> VmType for &'vm mut T
[src]
impl VmType for ()
[src]
type Type = Self
impl VmType for u8
[src]
type Type = Self
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]
type Type = Self
impl VmType for f32
[src]
type Type = Self
impl VmType for bool
[src]
impl VmType for Ordering
[src]
impl VmType for str
[src]
impl VmType for String
[src]
impl VmType for char
[src]
type Type = Self
impl VmType for Path
[src]
impl VmType for PathBuf
[src]
impl VmType for OsStr
[src]
impl VmType for OsString
[src]
impl<'s, T: VmType> VmType for Ref<'s, T>
[src]
impl<T> VmType for [T] where
T: VmType,
T::Type: Sized,
[src]
T: VmType,
T::Type: Sized,
impl<T> VmType for Vec<T> where
T: VmType,
T::Type: Sized,
[src]
T: VmType,
T::Type: Sized,
impl<'s, T: VmType> VmType for *const T
[src]
impl<'s, T: VmType> VmType for Box<T>
[src]
impl<K, V> VmType for BTreeMap<K, V> where
K: VmType,
K::Type: Sized,
V: VmType,
V::Type: Sized,
[src]
K: VmType,
K::Type: Sized,
V: VmType,
V::Type: Sized,
impl<T: VmType> VmType for Option<T> where
T::Type: Sized,
[src]
T::Type: Sized,
impl<T: VmType, E: VmType> VmType for StdResult<T, E> where
T::Type: Sized,
E::Type: Sized,
[src]
T::Type: Sized,
E::Type: Sized,
impl<A, B, C, D, E, F, G, H, I, J, K, L> VmType for (A, B, C, D, E, F, G, H, I, J, K, L) where
A: VmType,
B: VmType,
C: VmType,
D: VmType,
E: VmType,
F: VmType,
G: VmType,
H: VmType,
I: VmType,
J: VmType,
K: VmType,
L: VmType,
A::Type: Sized,
B::Type: Sized,
C::Type: Sized,
D::Type: Sized,
E::Type: Sized,
F::Type: Sized,
G::Type: Sized,
H::Type: Sized,
I::Type: Sized,
J::Type: Sized,
K::Type: Sized,
L::Type: Sized,
[src]
A: VmType,
B: VmType,
C: VmType,
D: VmType,
E: VmType,
F: VmType,
G: VmType,
H: VmType,
I: VmType,
J: VmType,
K: VmType,
L: VmType,
A::Type: Sized,
B::Type: Sized,
C::Type: Sized,
D::Type: Sized,
E::Type: Sized,
F::Type: Sized,
G::Type: Sized,
H::Type: Sized,
I::Type: Sized,
J::Type: Sized,
K::Type: Sized,
L::Type: Sized,
type Type = (A::Type, B::Type, C::Type, D::Type, E::Type, F::Type, G::Type, H::Type, I::Type, J::Type, K::Type, L::Type)
fn make_type(vm: &Thread) -> ArcType
[src]
impl<B, C, D, E, F, G, H, I, J, K, L> VmType for (B, C, D, E, F, G, H, I, J, K, L) where
B: VmType,
C: VmType,
D: VmType,
E: VmType,
F: VmType,
G: VmType,
H: VmType,
I: VmType,
J: VmType,
K: VmType,
L: VmType,
B::Type: Sized,
C::Type: Sized,
D::Type: Sized,
E::Type: Sized,
F::Type: Sized,
G::Type: Sized,
H::Type: Sized,
I::Type: Sized,
J::Type: Sized,
K::Type: Sized,
L::Type: Sized,
[src]
B: VmType,
C: VmType,
D: VmType,
E: VmType,
F: VmType,
G: VmType,
H: VmType,
I: VmType,
J: VmType,
K: VmType,
L: VmType,
B::Type: Sized,
C::Type: Sized,
D::Type: Sized,
E::Type: Sized,
F::Type: Sized,
G::Type: Sized,
H::Type: Sized,
I::Type: Sized,
J::Type: Sized,
K::Type: Sized,
L::Type: Sized,
type Type = (B::Type, C::Type, D::Type, E::Type, F::Type, G::Type, H::Type, I::Type, J::Type, K::Type, L::Type)
fn make_type(vm: &Thread) -> ArcType
[src]
impl<C, D, E, F, G, H, I, J, K, L> VmType for (C, D, E, F, G, H, I, J, K, L) where
C: VmType,
D: VmType,
E: VmType,
F: VmType,
G: VmType,
H: VmType,
I: VmType,
J: VmType,
K: VmType,
L: VmType,
C::Type: Sized,
D::Type: Sized,
E::Type: Sized,
F::Type: Sized,
G::Type: Sized,
H::Type: Sized,
I::Type: Sized,
J::Type: Sized,
K::Type: Sized,
L::Type: Sized,
[src]
C: VmType,
D: VmType,
E: VmType,
F: VmType,
G: VmType,
H: VmType,
I: VmType,
J: VmType,
K: VmType,
L: VmType,
C::Type: Sized,
D::Type: Sized,
E::Type: Sized,
F::Type: Sized,
G::Type: Sized,
H::Type: Sized,
I::Type: Sized,
J::Type: Sized,
K::Type: Sized,
L::Type: Sized,
type Type = (C::Type, D::Type, E::Type, F::Type, G::Type, H::Type, I::Type, J::Type, K::Type, L::Type)
fn make_type(vm: &Thread) -> ArcType
[src]
impl<D, E, F, G, H, I, J, K, L> VmType for (D, E, F, G, H, I, J, K, L) where
D: VmType,
E: VmType,
F: VmType,
G: VmType,
H: VmType,
I: VmType,
J: VmType,
K: VmType,
L: VmType,
D::Type: Sized,
E::Type: Sized,
F::Type: Sized,
G::Type: Sized,
H::Type: Sized,
I::Type: Sized,
J::Type: Sized,
K::Type: Sized,
L::Type: Sized,
[src]
D: VmType,
E: VmType,
F: VmType,
G: VmType,
H: VmType,
I: VmType,
J: VmType,
K: VmType,
L: VmType,
D::Type: Sized,
E::Type: Sized,
F::Type: Sized,
G::Type: Sized,
H::Type: Sized,
I::Type: Sized,
J::Type: Sized,
K::Type: Sized,
L::Type: Sized,
type Type = (D::Type, E::Type, F::Type, G::Type, H::Type, I::Type, J::Type, K::Type, L::Type)
fn make_type(vm: &Thread) -> ArcType
[src]
impl<E, F, G, H, I, J, K, L> VmType for (E, F, G, H, I, J, K, L) where
E: VmType,
F: VmType,
G: VmType,
H: VmType,
I: VmType,
J: VmType,
K: VmType,
L: VmType,
E::Type: Sized,
F::Type: Sized,
G::Type: Sized,
H::Type: Sized,
I::Type: Sized,
J::Type: Sized,
K::Type: Sized,
L::Type: Sized,
[src]
E: VmType,
F: VmType,
G: VmType,
H: VmType,
I: VmType,
J: VmType,
K: VmType,
L: VmType,
E::Type: Sized,
F::Type: Sized,
G::Type: Sized,
H::Type: Sized,
I::Type: Sized,
J::Type: Sized,
K::Type: Sized,
L::Type: Sized,
type Type = (E::Type, F::Type, G::Type, H::Type, I::Type, J::Type, K::Type, L::Type)
fn make_type(vm: &Thread) -> ArcType
[src]
impl<F, G, H, I, J, K, L> VmType for (F, G, H, I, J, K, L) where
F: VmType,
G: VmType,
H: VmType,
I: VmType,
J: VmType,
K: VmType,
L: VmType,
F::Type: Sized,
G::Type: Sized,
H::Type: Sized,
I::Type: Sized,
J::Type: Sized,
K::Type: Sized,
L::Type: Sized,
[src]
F: VmType,
G: VmType,
H: VmType,
I: VmType,
J: VmType,
K: VmType,
L: VmType,
F::Type: Sized,
G::Type: Sized,
H::Type: Sized,
I::Type: Sized,
J::Type: Sized,
K::Type: Sized,
L::Type: Sized,
type Type = (F::Type, G::Type, H::Type, I::Type, J::Type, K::Type, L::Type)
fn make_type(vm: &Thread) -> ArcType
[src]
impl<G, H, I, J, K, L> VmType for (G, H, I, J, K, L) where
G: VmType,
H: VmType,
I: VmType,
J: VmType,
K: VmType,
L: VmType,
G::Type: Sized,
H::Type: Sized,
I::Type: Sized,
J::Type: Sized,
K::Type: Sized,
L::Type: Sized,
[src]
G: VmType,
H: VmType,
I: VmType,
J: VmType,
K: VmType,
L: VmType,
G::Type: Sized,
H::Type: Sized,
I::Type: Sized,
J::Type: Sized,
K::Type: Sized,
L::Type: Sized,
type Type = (G::Type, H::Type, I::Type, J::Type, K::Type, L::Type)
fn make_type(vm: &Thread) -> ArcType
[src]
impl<H, I, J, K, L> VmType for (H, I, J, K, L) where
H: VmType,
I: VmType,
J: VmType,
K: VmType,
L: VmType,
H::Type: Sized,
I::Type: Sized,
J::Type: Sized,
K::Type: Sized,
L::Type: Sized,
[src]
H: VmType,
I: VmType,
J: VmType,
K: VmType,
L: VmType,
H::Type: Sized,
I::Type: Sized,
J::Type: Sized,
K::Type: Sized,
L::Type: Sized,
impl<I, J, K, L> VmType for (I, J, K, L) where
I: VmType,
J: VmType,
K: VmType,
L: VmType,
I::Type: Sized,
J::Type: Sized,
K::Type: Sized,
L::Type: Sized,
[src]
I: VmType,
J: VmType,
K: VmType,
L: VmType,
I::Type: Sized,
J::Type: Sized,
K::Type: Sized,
L::Type: Sized,
impl<J, K, L> VmType for (J, K, L) where
J: VmType,
K: VmType,
L: VmType,
J::Type: Sized,
K::Type: Sized,
L::Type: Sized,
[src]
J: VmType,
K: VmType,
L: VmType,
J::Type: Sized,
K::Type: Sized,
L::Type: Sized,
impl<K, L> VmType for (K, L) where
K: VmType,
L: VmType,
K::Type: Sized,
L::Type: Sized,
[src]
K: VmType,
L: VmType,
K::Type: Sized,
L::Type: Sized,
impl<'a> VmType for Component<'a>
[src]
Loading content...
Implementors
impl VmType for A
[src]
impl VmType for B
[src]
impl VmType for C
[src]
impl VmType for D
[src]
impl VmType for E
[src]
impl VmType for F
[src]
impl VmType for G
[src]
impl VmType for H
[src]
impl VmType for I
[src]
impl VmType for J
[src]
impl VmType for K
[src]
impl VmType for L
[src]
impl VmType for M
[src]
impl VmType for N
[src]
impl VmType for O
[src]
impl VmType for P
[src]
impl VmType for Q
[src]
impl VmType for R
[src]
impl VmType for S
[src]
impl VmType for T
[src]
impl VmType for U
[src]
impl VmType for V
[src]
impl VmType for X
[src]
impl VmType for Y
[src]
impl VmType for Z
[src]
impl VmType for gluon_vm::api::json::Value
[src]
impl VmType for JsonString
[src]
impl VmType for JsonValue
[src]
impl VmType for EmptyRow
[src]
impl VmType for Hole
[src]
impl VmType for DirEntry
[src]
impl VmType for Metadata
[src]
impl VmType for RootedThread
[src]
impl VmType for Thread
[src]
type Type = Self
impl<'a> VmType for gluon_vm::primitives::Component<'a>
[src]
impl<'a, 'b, T> VmType for &'b mut gluon_vm::api::scoped::Ref<'a, T> where
T: Userdata + VmType,
[src]
T: Userdata + VmType,
impl<'a, 'b, T> VmType for &'b mut RefMut<'a, T> where
T: Userdata + VmType,
[src]
T: Userdata + VmType,
impl<'vm, F: VmType> VmType for Primitive<F>
[src]
impl<'vm, T> VmType for WithVM<'vm, T> where
T: VmType,
[src]
T: VmType,
impl<F> VmType for FutureResult<F> where
F: Future,
F::Output: VmType,
[src]
F: Future,
F::Output: VmType,
type Type = <F::Output as VmType>::Type
fn make_type(vm: &Thread) -> ArcType
[src]
fn extra_args() -> VmIndex
[src]
impl<K: VmType, V: VmType> VmType for Map<K, V> where
K::Type: Sized,
V::Type: Sized,
[src]
K::Type: Sized,
V::Type: Sized,
impl<R, T> VmType for Eff<R, T> where
R: VmType,
R::Type: Sized,
T: VmType,
T::Type: Sized,
[src]
R: VmType,
R::Type: Sized,
T: VmType,
T::Type: Sized,
impl<T> VmType for IO<T> where
T: VmType,
T::Type: Sized,
[src]
T: VmType,
T::Type: Sized,
impl<T> VmType for De<T> where
T: VmType,
[src]
T: VmType,
impl<T> VmType for Ser<T> where
T: VmType,
[src]
T: VmType,
impl<T> VmType for Collect<T> where
T: IntoIterator,
T::Item: VmType,
<T::Item as VmType>::Type: Sized,
[src]
T: IntoIterator,
T::Item: VmType,
<T::Item as VmType>::Type: Sized,
impl<T> VmType for Lazy<T> where
T: VmType,
T::Type: Sized,
[src]
T: VmType,
T::Type: Sized,
impl<T> VmType for Reference<T> where
T: VmType,
T::Type: Sized,
[src]
T: VmType,
T::Type: Sized,
impl<T, F> VmType for Function<T, F> where
T: VmRootInternal,
F: VmType,
[src]
T: VmRootInternal,
F: VmType,
impl<T, R: ?Sized> VmType for PushAsRef<T, R> where
T: AsRef<R>,
R: 'static,
&'static R: VmType,
[src]
T: AsRef<R>,
R: 'static,
&'static R: VmType,
impl<T, V: ?Sized> VmType for Opaque<T, V> where
V: VmType,
V::Type: Sized,
[src]
V: VmType,
V::Type: Sized,
impl<T: FieldTypes, U: FieldValues> VmType for Record<T, U>
[src]
impl<T: FieldTypes, U: FieldValues, R: VmType> VmType for Row<T, U, R>
[src]
impl<T: VmType> VmType for TypedBytecode<T>
[src]
type Type = T::Type
fn make_type(vm: &Thread) -> ArcType
[src]
fn make_forall_type(vm: &Thread) -> ArcType
[src]
fn extra_args() -> VmIndex
[src]
impl<T: VmType> VmType for Receiver<T> where
T::Type: Sized,
[src]
T::Type: Sized,
impl<T: VmType> VmType for Sender<T> where
T::Type: Sized,
[src]
T::Type: Sized,
impl<T: VmType, E> VmType for RuntimeResult<T, E>
[src]
type Type = T::Type
fn make_forall_type(vm: &Thread) -> ArcType
[src]
fn make_type(vm: &Thread) -> ArcType
[src]
fn extra_args() -> VmIndex
[src]
impl<T: ?Sized> VmType for UserdataValue<T> where
T: VmType,
[src]
T: VmType,