Skip to main content

ImplCurryWith

Trait ImplCurryWith 

Source
pub trait ImplCurryWith<const ARITY: usize, Args, AState, PState, RState, A0: ?Sized, P, T: ?Sized, R: ?Sized> {
    type Curry<'a>
       where Self: 'a,
             A0: 'a,
             P: 'a;

    // Required method
    fn curry_with<'a>(self, arg0: A0, proj: P) -> Self::Curry<'a>;
}
Expand description

Internal mechanism: Prepares a step with a projection.

Required Associated Types§

Source

type Curry<'a> where Self: 'a, A0: 'a, P: 'a

Required Methods§

Source

fn curry_with<'a>(self, arg0: A0, proj: P) -> Self::Curry<'a>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<F, P, A0, T: ?Sized, P1, P2, P3, P4, P5, R> ImplCurryWith<5, (P1, P2, P3, P4, P5), Imm, Imm, Own, A0, P, T, R> for F
where P: for<'b> FnOnce(&'b A0) -> &'b T, F: for<'b> FnOnce(&'b T, P1, P2, P3, P4, P5) -> R,

Available on crate feature 5 only.
Source§

type Curry<'a> = impl FnOnce(P1, P2, P3, P4, P5) -> A0 where F: 'a, A0: 'a, P: 'a

Source§

impl<F, P, A0, T: ?Sized, P1, P2, P3, P4, P5, R> ImplCurryWith<5, (P1, P2, P3, P4, P5), Mut, Mut, Own, A0, P, T, R> for F
where P: for<'b> FnOnce(&'b mut A0) -> &'b mut T, F: for<'b> FnOnce(&'b mut T, P1, P2, P3, P4, P5) -> R,

Available on crate feature 5 only.
Source§

type Curry<'a> = impl FnOnce(P1, P2, P3, P4, P5) -> A0 where F: 'a, A0: 'a, P: 'a

Source§

impl<F, P, A0, T: ?Sized, P1, P2, P3, P4, R> ImplCurryWith<4, (P1, P2, P3, P4), Imm, Imm, Own, A0, P, T, R> for F
where P: for<'b> FnOnce(&'b A0) -> &'b T, F: for<'b> FnOnce(&'b T, P1, P2, P3, P4) -> R,

Available on crate feature 4 only.
Source§

type Curry<'a> = impl FnOnce(P1, P2, P3, P4) -> A0 where F: 'a, A0: 'a, P: 'a

Source§

impl<F, P, A0, T: ?Sized, P1, P2, P3, P4, R> ImplCurryWith<4, (P1, P2, P3, P4), Mut, Mut, Own, A0, P, T, R> for F
where P: for<'b> FnOnce(&'b mut A0) -> &'b mut T, F: for<'b> FnOnce(&'b mut T, P1, P2, P3, P4) -> R,

Available on crate feature 4 only.
Source§

type Curry<'a> = impl FnOnce(P1, P2, P3, P4) -> A0 where F: 'a, A0: 'a, P: 'a

Source§

impl<F, P, A0, T: ?Sized, P1, P2, P3, R> ImplCurryWith<3, (P1, P2, P3), Imm, Imm, Own, A0, P, T, R> for F
where P: for<'b> FnOnce(&'b A0) -> &'b T, F: for<'b> FnOnce(&'b T, P1, P2, P3) -> R,

Available on crate feature 3 only.
Source§

type Curry<'a> = impl FnOnce(P1, P2, P3) -> A0 where F: 'a, A0: 'a, P: 'a

Source§

impl<F, P, A0, T: ?Sized, P1, P2, P3, R> ImplCurryWith<3, (P1, P2, P3), Mut, Mut, Own, A0, P, T, R> for F
where P: for<'b> FnOnce(&'b mut A0) -> &'b mut T, F: for<'b> FnOnce(&'b mut T, P1, P2, P3) -> R,

Available on crate feature 3 only.
Source§

type Curry<'a> = impl FnOnce(P1, P2, P3) -> A0 where F: 'a, A0: 'a, P: 'a

Source§

impl<F, P, A0, T: ?Sized, P1, P2, R> ImplCurryWith<2, (P1, P2), Imm, Imm, Own, A0, P, T, R> for F
where P: for<'b> FnOnce(&'b A0) -> &'b T, F: for<'b> FnOnce(&'b T, P1, P2) -> R,

Available on crate feature 2 only.
Source§

type Curry<'a> = impl FnOnce(P1, P2) -> A0 where F: 'a, A0: 'a, P: 'a

Source§

impl<F, P, A0, T: ?Sized, P1, P2, R> ImplCurryWith<2, (P1, P2), Mut, Mut, Own, A0, P, T, R> for F
where P: for<'b> FnOnce(&'b mut A0) -> &'b mut T, F: for<'b> FnOnce(&'b mut T, P1, P2) -> R,

Available on crate feature 2 only.
Source§

type Curry<'a> = impl FnOnce(P1, P2) -> A0 where F: 'a, A0: 'a, P: 'a

Source§

impl<F, P, A0, T: ?Sized, P1, R> ImplCurryWith<1, (P1,), Imm, Imm, Own, A0, P, T, R> for F
where P: for<'b> FnOnce(&'b A0) -> &'b T, F: for<'b> FnOnce(&'b T, P1) -> R,

Available on crate feature 1 only.
Source§

type Curry<'a> = impl FnOnce(P1) -> A0 where F: 'a, A0: 'a, P: 'a

Source§

impl<F, P, A0, T: ?Sized, P1, R> ImplCurryWith<1, (P1,), Mut, Mut, Own, A0, P, T, R> for F
where P: for<'b> FnOnce(&'b mut A0) -> &'b mut T, F: for<'b> FnOnce(&'b mut T, P1) -> R,

Available on crate feature 1 only.
Source§

type Curry<'a> = impl FnOnce(P1) -> A0 where F: 'a, A0: 'a, P: 'a

Source§

impl<F, P, A0, T: ?Sized, R> ImplCurryWith<0, (), Imm, Imm, Own, A0, P, T, R> for F
where P: for<'b> FnOnce(&'b A0) -> &'b T, F: for<'b> FnOnce(&'b T) -> R,

Available on crate feature 0 only.
Source§

type Curry<'a> = impl FnOnce() -> A0 where F: 'a, A0: 'a, P: 'a

Source§

impl<F, P, A0, T: ?Sized, R> ImplCurryWith<0, (), Mut, Mut, Own, A0, P, T, R> for F
where P: for<'b> FnOnce(&'b mut A0) -> &'b mut T, F: for<'b> FnOnce(&'b mut T) -> R,

Available on crate feature 0 only.
Source§

type Curry<'a> = impl FnOnce() -> A0 where F: 'a, A0: 'a, P: 'a