[−][src]Struct gluon_vm::api::function::Function
Type which represents an function in gluon
Methods
impl<T, F> Function<T, F> where
T: Deref<Target = Thread>,
[src]
T: Deref<Target = Thread>,
pub fn get_variant(&self) -> Variants
[src]
pub fn vm(&self) -> &Thread
[src]
pub fn re_root<'vm, U>(&self, vm: U) -> Result<Function<U, F>> where
U: VmRoot<'vm>,
[src]
U: VmRoot<'vm>,
impl<T, R> Function<T, fn() -> R> where
T: Deref<Target = Thread>,
R: VmType + for<'x, 'value> Getable<'x, 'value>,
[src]
T: Deref<Target = Thread>,
R: VmType + for<'x, 'value> Getable<'x, 'value>,
impl<T, R> Function<T, fn() -> R> where
T: Deref<Target = Thread> + Clone + Send,
R: VmType + for<'x, 'value> Getable<'x, 'value> + Send + Sync + 'static,
[src]
T: Deref<Target = Thread> + Clone + Send,
R: VmType + for<'x, 'value> Getable<'x, 'value> + Send + Sync + 'static,
pub fn call_async(
&mut self
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
[src]
&mut self
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
pub fn call_fast_async(
&mut self
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
[src]
&mut self
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
impl<T, A, R> Function<T, fn(_: A) -> R> where
A: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread>,
R: VmType + for<'x, 'value> Getable<'x, 'value>,
[src]
A: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread>,
R: VmType + for<'x, 'value> Getable<'x, 'value>,
impl<T, A, R> Function<T, fn(_: A) -> R> where
A: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread> + Clone + Send,
R: VmType + for<'x, 'value> Getable<'x, 'value> + Send + Sync + 'static,
[src]
A: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread> + Clone + Send,
R: VmType + for<'x, 'value> Getable<'x, 'value> + Send + Sync + 'static,
pub fn call_async(
&mut self,
A: A
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
[src]
&mut self,
A: A
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
pub fn call_fast_async(
&mut self,
A: A
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
[src]
&mut self,
A: A
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
impl<T, A, B, R> Function<T, fn(_: A, _: B) -> R> where
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread>,
R: VmType + for<'x, 'value> Getable<'x, 'value>,
[src]
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread>,
R: VmType + for<'x, 'value> Getable<'x, 'value>,
impl<T, A, B, R> Function<T, fn(_: A, _: B) -> R> where
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread> + Clone + Send,
R: VmType + for<'x, 'value> Getable<'x, 'value> + Send + Sync + 'static,
[src]
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread> + Clone + Send,
R: VmType + for<'x, 'value> Getable<'x, 'value> + Send + Sync + 'static,
pub fn call_async(
&mut self,
A: A,
B: B
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
[src]
&mut self,
A: A,
B: B
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
pub fn call_fast_async(
&mut self,
A: A,
B: B
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
[src]
&mut self,
A: A,
B: B
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
impl<T, A, B, C, R> Function<T, fn(_: A, _: B, _: C) -> R> where
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
C: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread>,
R: VmType + for<'x, 'value> Getable<'x, 'value>,
[src]
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
C: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread>,
R: VmType + for<'x, 'value> Getable<'x, 'value>,
impl<T, A, B, C, R> Function<T, fn(_: A, _: B, _: C) -> R> where
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
C: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread> + Clone + Send,
R: VmType + for<'x, 'value> Getable<'x, 'value> + Send + Sync + 'static,
[src]
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
C: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread> + Clone + Send,
R: VmType + for<'x, 'value> Getable<'x, 'value> + Send + Sync + 'static,
pub fn call_async(
&mut self,
A: A,
B: B,
C: C
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
[src]
&mut self,
A: A,
B: B,
C: C
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
pub fn call_fast_async(
&mut self,
A: A,
B: B,
C: C
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
[src]
&mut self,
A: A,
B: B,
C: C
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
impl<T, A, B, C, D, R> Function<T, fn(_: A, _: B, _: C, _: D) -> R> where
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
C: for<'vm> Pushable<'vm>,
D: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread>,
R: VmType + for<'x, 'value> Getable<'x, 'value>,
[src]
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
C: for<'vm> Pushable<'vm>,
D: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread>,
R: VmType + for<'x, 'value> Getable<'x, 'value>,
impl<T, A, B, C, D, R> Function<T, fn(_: A, _: B, _: C, _: D) -> R> where
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
C: for<'vm> Pushable<'vm>,
D: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread> + Clone + Send,
R: VmType + for<'x, 'value> Getable<'x, 'value> + Send + Sync + 'static,
[src]
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
C: for<'vm> Pushable<'vm>,
D: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread> + Clone + Send,
R: VmType + for<'x, 'value> Getable<'x, 'value> + Send + Sync + 'static,
pub fn call_async(
&mut self,
A: A,
B: B,
C: C,
D: D
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
[src]
&mut self,
A: A,
B: B,
C: C,
D: D
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
pub fn call_fast_async(
&mut self,
A: A,
B: B,
C: C,
D: D
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
[src]
&mut self,
A: A,
B: B,
C: C,
D: D
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
impl<T, A, B, C, D, E, R> Function<T, fn(_: A, _: B, _: C, _: D, _: E) -> R> where
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
C: for<'vm> Pushable<'vm>,
D: for<'vm> Pushable<'vm>,
E: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread>,
R: VmType + for<'x, 'value> Getable<'x, 'value>,
[src]
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
C: for<'vm> Pushable<'vm>,
D: for<'vm> Pushable<'vm>,
E: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread>,
R: VmType + for<'x, 'value> Getable<'x, 'value>,
impl<T, A, B, C, D, E, R> Function<T, fn(_: A, _: B, _: C, _: D, _: E) -> R> where
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
C: for<'vm> Pushable<'vm>,
D: for<'vm> Pushable<'vm>,
E: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread> + Clone + Send,
R: VmType + for<'x, 'value> Getable<'x, 'value> + Send + Sync + 'static,
[src]
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
C: for<'vm> Pushable<'vm>,
D: for<'vm> Pushable<'vm>,
E: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread> + Clone + Send,
R: VmType + for<'x, 'value> Getable<'x, 'value> + Send + Sync + 'static,
pub fn call_async(
&mut self,
A: A,
B: B,
C: C,
D: D,
E: E
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
[src]
&mut self,
A: A,
B: B,
C: C,
D: D,
E: E
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
pub fn call_fast_async(
&mut self,
A: A,
B: B,
C: C,
D: D,
E: E
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
[src]
&mut self,
A: A,
B: B,
C: C,
D: D,
E: E
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
impl<T, A, B, C, D, E, F, R> Function<T, fn(_: A, _: B, _: C, _: D, _: E, _: F) -> R> where
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
C: for<'vm> Pushable<'vm>,
D: for<'vm> Pushable<'vm>,
E: for<'vm> Pushable<'vm>,
F: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread>,
R: VmType + for<'x, 'value> Getable<'x, 'value>,
[src]
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
C: for<'vm> Pushable<'vm>,
D: for<'vm> Pushable<'vm>,
E: for<'vm> Pushable<'vm>,
F: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread>,
R: VmType + for<'x, 'value> Getable<'x, 'value>,
impl<T, A, B, C, D, E, F, R> Function<T, fn(_: A, _: B, _: C, _: D, _: E, _: F) -> R> where
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
C: for<'vm> Pushable<'vm>,
D: for<'vm> Pushable<'vm>,
E: for<'vm> Pushable<'vm>,
F: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread> + Clone + Send,
R: VmType + for<'x, 'value> Getable<'x, 'value> + Send + Sync + 'static,
[src]
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
C: for<'vm> Pushable<'vm>,
D: for<'vm> Pushable<'vm>,
E: for<'vm> Pushable<'vm>,
F: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread> + Clone + Send,
R: VmType + for<'x, 'value> Getable<'x, 'value> + Send + Sync + 'static,
pub fn call_async(
&mut self,
A: A,
B: B,
C: C,
D: D,
E: E,
F: F
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
[src]
&mut self,
A: A,
B: B,
C: C,
D: D,
E: E,
F: F
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
pub fn call_fast_async(
&mut self,
A: A,
B: B,
C: C,
D: D,
E: E,
F: F
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
[src]
&mut self,
A: A,
B: B,
C: C,
D: D,
E: E,
F: F
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
impl<T, A, B, C, D, E, F, G, R> Function<T, fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> R> where
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
C: for<'vm> Pushable<'vm>,
D: for<'vm> Pushable<'vm>,
E: for<'vm> Pushable<'vm>,
F: for<'vm> Pushable<'vm>,
G: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread>,
R: VmType + for<'x, 'value> Getable<'x, 'value>,
[src]
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
C: for<'vm> Pushable<'vm>,
D: for<'vm> Pushable<'vm>,
E: for<'vm> Pushable<'vm>,
F: for<'vm> Pushable<'vm>,
G: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread>,
R: VmType + for<'x, 'value> Getable<'x, 'value>,
impl<T, A, B, C, D, E, F, G, R> Function<T, fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> R> where
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
C: for<'vm> Pushable<'vm>,
D: for<'vm> Pushable<'vm>,
E: for<'vm> Pushable<'vm>,
F: for<'vm> Pushable<'vm>,
G: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread> + Clone + Send,
R: VmType + for<'x, 'value> Getable<'x, 'value> + Send + Sync + 'static,
[src]
A: for<'vm> Pushable<'vm>,
B: for<'vm> Pushable<'vm>,
C: for<'vm> Pushable<'vm>,
D: for<'vm> Pushable<'vm>,
E: for<'vm> Pushable<'vm>,
F: for<'vm> Pushable<'vm>,
G: for<'vm> Pushable<'vm>,
T: Deref<Target = Thread> + Clone + Send,
R: VmType + for<'x, 'value> Getable<'x, 'value> + Send + Sync + 'static,
pub fn call_async(
&mut self,
A: A,
B: B,
C: C,
D: D,
E: E,
F: F,
G: G
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
[src]
&mut self,
A: A,
B: B,
C: C,
D: D,
E: E,
F: F,
G: G
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
pub fn call_fast_async(
&mut self,
A: A,
B: B,
C: C,
D: D,
E: E,
F: F,
G: G
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
[src]
&mut self,
A: A,
B: B,
C: C,
D: D,
E: E,
F: F,
G: G
) -> Box<dyn Future<Item = R, Error = Error> + Send + Sync + 'static>
Trait Implementations
impl<T, F> VmType for Function<T, F> where
T: Deref<Target = Thread>,
F: VmType,
[src]
T: Deref<Target = Thread>,
F: VmType,
type Type = F::Type
A version of Self
which implements Any
allowing a TypeId
to be retrieved
fn make_type(vm: &Thread) -> ArcType
[src]
fn make_forall_type(vm: &Thread) -> ArcType
[src]
fn extra_args() -> VmIndex
[src]
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 Read more
impl<'vm, T, F: Any> Pushable<'vm> for Function<T, F> where
T: Deref<Target = Thread>,
F: VmType,
[src]
T: Deref<Target = Thread>,
F: VmType,
fn push(self, context: &mut ActiveThread<'vm>) -> Result<()>
[src]
fn status_push(self, context: &mut ActiveThread<'vm>) -> Status where
Self: Sized,
[src]
Self: Sized,
unsafe fn marshal_unrooted(self, vm: &'vm Thread) -> Result<Value> where
Self: Sized,
[src]
Self: Sized,
fn marshal<T>(self, vm: &'vm Thread) -> Result<RootedValue<T>> where
Self: Sized,
T: VmRoot<'vm>,
[src]
Self: Sized,
T: VmRoot<'vm>,
impl<'vm, 'value, F> Getable<'vm, 'value> for Function<&'vm Thread, F>
[src]
impl<'vm, 'value, F> Getable<'vm, 'value> for Function<RootedThread, F>
[src]
fn from_value(vm: &'vm Thread, value: Variants<'value>) -> Self
[src]
impl<T: Clone, F: Clone> Clone for Function<T, F> where
T: Deref<Target = Thread>,
[src]
T: Deref<Target = Thread>,
fn clone(&self) -> Function<T, F>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<T: Debug, F: Debug> Debug for Function<T, F> where
T: Deref<Target = Thread>,
[src]
T: Deref<Target = Thread>,
Auto Trait Implementations
impl<T, F> Send for Function<T, F> where
F: Send,
T: Send,
F: Send,
T: Send,
impl<T, F> Sync for Function<T, F> where
F: Sync,
T: Sync,
F: Sync,
T: Sync,
Blanket Implementations
impl<'vm, T> AsyncPushable for T where
T: Pushable<'vm>,
[src]
T: Pushable<'vm>,
fn async_push(Self, &mut ActiveThread<'vm>, u32) -> Result<Async<()>, Error>
[src]
fn async_status_push(
self,
context: &mut ActiveThread<'vm>,
frame_index: VmIndex
) -> Status where
Self: Sized,
[src]
self,
context: &mut ActiveThread<'vm>,
frame_index: VmIndex
) -> Status where
Self: Sized,
impl<'vm, T> Pushable for T where
T: Userdata,
[src]
T: Userdata,
fn push(Self, &mut ActiveThread<'vm>) -> Result<(), Error>
[src]
fn status_push(self, context: &mut ActiveThread<'vm>) -> Status where
Self: Sized,
[src]
Self: Sized,
unsafe fn marshal_unrooted(self, vm: &'vm Thread) -> Result<Value> where
Self: Sized,
[src]
Self: Sized,
fn marshal<T>(self, vm: &'vm Thread) -> Result<RootedValue<T>> where
Self: Sized,
T: VmRoot<'vm>,
[src]
Self: Sized,
T: VmRoot<'vm>,
impl<D, T> FromPtr for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = !
🔬 This is a nightly-only experimental API. (
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
🔬 This is a nightly-only experimental API. (
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<Choices> CoproductSubsetter for Choices
[src]
type Remainder = Choices
fn subset(
self
) -> Result<CNil, <Choices as CoproductSubsetter<CNil, HNil>>::Remainder>
[src]
self
) -> Result<CNil, <Choices as CoproductSubsetter<CNil, HNil>>::Remainder>
impl<Source> Sculptor for Source
[src]
impl<T, U, I> LiftInto for T where
U: LiftFrom<T, I>,
[src]
U: LiftFrom<T, I>,
impl<T> Any for T where
T: Any,
[src]
T: Any,