Skip to main content

EffectFn

Trait EffectFn 

Source
pub trait EffectFn<Args>:
    Send
    + Sync
    + 'static {
    const ARITY: usize;
}
Expand description

A Rust closure that can be given to ScriptBuilder::effect: as PureFn, returning Result<R, E> where E explains the failure.

Required Associated Constants§

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementors§

Source§

impl<F, R, Er, A, B, C, D, E, G> EffectFn<(A, B, C, D, E, G)> for F
where F: Fn(A, B, C, D, E, G) -> Result<R, Er> + Send + Sync + 'static, R: Serialize, Er: Display, A: DeserializeOwned, B: DeserializeOwned, C: DeserializeOwned, D: DeserializeOwned, E: DeserializeOwned, G: DeserializeOwned,

Source§

const ARITY: usize = 6

Source§

impl<F, R, Er, A, B, C, D, E> EffectFn<(A, B, C, D, E)> for F
where F: Fn(A, B, C, D, E) -> Result<R, Er> + Send + Sync + 'static, R: Serialize, Er: Display, A: DeserializeOwned, B: DeserializeOwned, C: DeserializeOwned, D: DeserializeOwned, E: DeserializeOwned,

Source§

const ARITY: usize = 5

Source§

impl<F, R, Er, A, B, C, D> EffectFn<(A, B, C, D)> for F
where F: Fn(A, B, C, D) -> Result<R, Er> + Send + Sync + 'static, R: Serialize, Er: Display, A: DeserializeOwned, B: DeserializeOwned, C: DeserializeOwned, D: DeserializeOwned,

Source§

const ARITY: usize = 4

Source§

impl<F, R, Er, A, B, C> EffectFn<(A, B, C)> for F
where F: Fn(A, B, C) -> Result<R, Er> + Send + Sync + 'static, R: Serialize, Er: Display, A: DeserializeOwned, B: DeserializeOwned, C: DeserializeOwned,

Source§

const ARITY: usize = 3

Source§

impl<F, R, Er, A, B> EffectFn<(A, B)> for F
where F: Fn(A, B) -> Result<R, Er> + Send + Sync + 'static, R: Serialize, Er: Display, A: DeserializeOwned, B: DeserializeOwned,

Source§

const ARITY: usize = 2

Source§

impl<F, R, Er, A> EffectFn<(A,)> for F
where F: Fn(A) -> Result<R, Er> + Send + Sync + 'static, R: Serialize, Er: Display, A: DeserializeOwned,

Source§

const ARITY: usize = 1

Source§

impl<F, R, Er> EffectFn<()> for F
where F: Fn() -> Result<R, Er> + Send + Sync + 'static, R: Serialize, Er: Display,

Source§

const ARITY: usize = 0