Imm

Struct Imm 

Source
pub struct Imm;

Auto Trait Implementations§

§

impl Freeze for Imm

§

impl RefUnwindSafe for Imm

§

impl Send for Imm

§

impl Sync for Imm

§

impl Unpin for Imm

§

impl UnwindSafe for Imm

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pipe0 for T

Source§

fn pipe0<R>(self, f: impl FnOnce(Self) -> R) -> impl FnOnce() -> R

Partially applies f by moving self into the returned nullary closure. Read more
Source§

impl<T> Pipe0Ref for T
where T: ?Sized,

Source§

fn pipe0_with<'a, X: ?Sized + 'a, R: 'a>( &'a self, proj: impl FnOnce(&'a Self) -> &'a X, f: impl FnOnce(&'a X) -> R, ) -> impl FnOnce() -> R

Partially applies f by fixing its first argument to proj(&self), returning a nullary closure. Read more
Source§

fn pipe0_with_mut<'a, X: ?Sized + 'a, R: 'a>( &'a mut self, proj: impl FnOnce(&'a mut Self) -> &'a mut X, f: impl FnOnce(&'a mut X) -> R, ) -> impl FnOnce() -> R

Partially applies f by fixing its first argument to proj(&mut self), returning a nullary closure. Read more
Source§

impl<T> Pipe1 for T

Source§

fn pipe1<R, A1>(self, f: impl FnOnce(Self, A1) -> R) -> impl FnOnce(A1) -> R

Partially applies f by moving self into the returned closure. The closure takes (A1..A1). Read more
Source§

impl<T> Pipe1Ref for T
where T: ?Sized,

Source§

fn pipe1_with<'x, X: ?Sized + 'x, R: 'x, A1>( &'x self, proj: impl FnOnce(&'x Self) -> &'x X, f: impl FnOnce(&'x X, A1) -> R, ) -> impl FnOnce(A1) -> R

Partially applies f by fixing its first argument to proj(&self), returning a closure that takes (A1..A1). Read more
Source§

fn pipe1_with_mut<'x, X: ?Sized + 'x, R: 'x, A1>( &'x mut self, proj: impl FnOnce(&'x mut Self) -> &'x mut X, f: impl FnOnce(&'x mut X, A1) -> R, ) -> impl FnOnce(A1) -> R

Partially applies f by fixing its first argument to proj(&mut self), returning a closure that takes (A1..A1). Read more
Source§

impl<T> Pipe2 for T

Source§

fn pipe2<R, A1, A2>( self, f: impl FnOnce(Self, A1, A2) -> R, ) -> impl FnOnce(A1, A2) -> R

Partially applies f by moving self into the returned closure. The closure takes (A1..A2). Read more
Source§

impl<T> Pipe2Ref for T
where T: ?Sized,

Source§

fn pipe2_with<'x, X: ?Sized + 'x, R: 'x, A1, A2>( &'x self, proj: impl FnOnce(&'x Self) -> &'x X, f: impl FnOnce(&'x X, A1, A2) -> R, ) -> impl FnOnce(A1, A2) -> R

Partially applies f by fixing its first argument to proj(&self), returning a closure that takes (A1..A2). Read more
Source§

fn pipe2_with_mut<'x, X: ?Sized + 'x, R: 'x, A1, A2>( &'x mut self, proj: impl FnOnce(&'x mut Self) -> &'x mut X, f: impl FnOnce(&'x mut X, A1, A2) -> R, ) -> impl FnOnce(A1, A2) -> R

Partially applies f by fixing its first argument to proj(&mut self), returning a closure that takes (A1..A2). Read more
Source§

impl<T> Pipe3 for T

Source§

fn pipe3<R, A1, A2, A3>( self, f: impl FnOnce(Self, A1, A2, A3) -> R, ) -> impl FnOnce(A1, A2, A3) -> R

Partially applies f by moving self into the returned closure. The closure takes (A1..A3). Read more
Source§

impl<T> Pipe3Ref for T
where T: ?Sized,

Source§

fn pipe3_with<'x, X: ?Sized + 'x, R: 'x, A1, A2, A3>( &'x self, proj: impl FnOnce(&'x Self) -> &'x X, f: impl FnOnce(&'x X, A1, A2, A3) -> R, ) -> impl FnOnce(A1, A2, A3) -> R

Partially applies f by fixing its first argument to proj(&self), returning a closure that takes (A1..A3). Read more
Source§

fn pipe3_with_mut<'x, X: ?Sized + 'x, R: 'x, A1, A2, A3>( &'x mut self, proj: impl FnOnce(&'x mut Self) -> &'x mut X, f: impl FnOnce(&'x mut X, A1, A2, A3) -> R, ) -> impl FnOnce(A1, A2, A3) -> R

Partially applies f by fixing its first argument to proj(&mut self), returning a closure that takes (A1..A3). Read more
Source§

impl<T> Pipe4 for T

Source§

fn pipe4<R, A1, A2, A3, A4>( self, f: impl FnOnce(Self, A1, A2, A3, A4) -> R, ) -> impl FnOnce(A1, A2, A3, A4) -> R

Partially applies f by moving self into the returned closure. The closure takes (A1..A4). Read more
Source§

impl<T> Pipe4Ref for T
where T: ?Sized,

Source§

fn pipe4_with<'x, X: ?Sized + 'x, R: 'x, A1, A2, A3, A4>( &'x self, proj: impl FnOnce(&'x Self) -> &'x X, f: impl FnOnce(&'x X, A1, A2, A3, A4) -> R, ) -> impl FnOnce(A1, A2, A3, A4) -> R

Partially applies f by fixing its first argument to proj(&self), returning a closure that takes (A1..A4). Read more
Source§

fn pipe4_with_mut<'x, X: ?Sized + 'x, R: 'x, A1, A2, A3, A4>( &'x mut self, proj: impl FnOnce(&'x mut Self) -> &'x mut X, f: impl FnOnce(&'x mut X, A1, A2, A3, A4) -> R, ) -> impl FnOnce(A1, A2, A3, A4) -> R

Partially applies f by fixing its first argument to proj(&mut self), returning a closure that takes (A1..A4). Read more
Source§

impl<T> Pipe5 for T

Source§

fn pipe5<R, A1, A2, A3, A4, A5>( self, f: impl FnOnce(Self, A1, A2, A3, A4, A5) -> R, ) -> impl FnOnce(A1, A2, A3, A4, A5) -> R

Partially applies f by moving self into the returned closure. The closure takes (A1..A5). Read more
Source§

impl<T> Pipe5Ref for T
where T: ?Sized,

Source§

fn pipe5_with<'x, X: ?Sized + 'x, R: 'x, A1, A2, A3, A4, A5>( &'x self, proj: impl FnOnce(&'x Self) -> &'x X, f: impl FnOnce(&'x X, A1, A2, A3, A4, A5) -> R, ) -> impl FnOnce(A1, A2, A3, A4, A5) -> R

Partially applies f by fixing its first argument to proj(&self), returning a closure that takes (A1..A5). Read more
Source§

fn pipe5_with_mut<'x, X: ?Sized + 'x, R: 'x, A1, A2, A3, A4, A5>( &'x mut self, proj: impl FnOnce(&'x mut Self) -> &'x mut X, f: impl FnOnce(&'x mut X, A1, A2, A3, A4, A5) -> R, ) -> impl FnOnce(A1, A2, A3, A4, A5) -> R

Partially applies f by fixing its first argument to proj(&mut self), returning a closure that takes (A1..A5). Read more
Source§

impl<T> Tap0 for T

Source§

fn tap0<M, F>(self, f: F) -> impl FnOnce() -> Self
where F: Tap0Fn<Self, M>,

By-value tap. Accepts BOTH Fn(&mut T) and Fn(&T).
Source§

impl<T> Tap0Ref for T
where T: ?Sized,

Source§

fn tap0_with<'a, X: ?Sized + 'a, R>( &'a self, proj: impl FnOnce(&'a Self) -> &'a X, f: impl FnOnce(&'a X) -> R, ) -> impl FnOnce() -> &'a Self

Immutable view tap. Always takes Fn(&T).
Source§

fn tap0_with_mut<'a, X: ?Sized + 'a, M, F>( &'a mut self, proj: impl FnOnce(&mut Self) -> &mut X, f: F, ) -> impl FnOnce() -> &'a mut Self
where F: Tap0Fn<X, M>,

Mutable view tap. Accepts BOTH Fn(&mut T) and Fn(&T).
Source§

impl<T> Tap1 for T

Source§

fn tap1<M, F, A1>(self, f: F) -> impl FnOnce(A1) -> Self
where F: Tap1Fn<Self, A1, M>,

Moves self in, calls f (which can accept &self OR &mut self), and returns self.
Source§

impl<T> Tap1Ref for T
where T: ?Sized,

Source§

fn tap1_with<'x, X: ?Sized + 'x, R, A1>( &'x self, proj: impl FnOnce(&'x Self) -> &'x X, f: impl FnOnce(&'x X, A1) -> R, ) -> impl FnOnce(A1) -> &'x Self

Calls f(proj(&self), a1..a1) (immutable view), discards the return value, and returns &self.
Source§

fn tap1_with_mut<'x, X: ?Sized + 'x, M, F, A1>( &'x mut self, proj: impl FnOnce(&mut Self) -> &mut X, f: F, ) -> impl FnOnce(A1) -> &'x mut Self
where F: Tap1Fn<X, A1, M>,

Calls f(proj(&mut self), a1..a1) (mutable view), discards the return value, and returns &mut self. Read more
Source§

impl<T> Tap2 for T

Source§

fn tap2<M, F, A1, A2>(self, f: F) -> impl FnOnce(A1, A2) -> Self
where F: Tap2Fn<Self, A1, A2, M>,

Moves self in, calls f (which can accept &self OR &mut self), and returns self.
Source§

impl<T> Tap2Ref for T
where T: ?Sized,

Source§

fn tap2_with<'x, X: ?Sized + 'x, R, A1, A2>( &'x self, proj: impl FnOnce(&'x Self) -> &'x X, f: impl FnOnce(&'x X, A1, A2) -> R, ) -> impl FnOnce(A1, A2) -> &'x Self

Calls f(proj(&self), a1..a2) (immutable view), discards the return value, and returns &self.
Source§

fn tap2_with_mut<'x, X: ?Sized + 'x, M, F, A1, A2>( &'x mut self, proj: impl FnOnce(&mut Self) -> &mut X, f: F, ) -> impl FnOnce(A1, A2) -> &'x mut Self
where F: Tap2Fn<X, A1, A2, M>,

Calls f(proj(&mut self), a1..a2) (mutable view), discards the return value, and returns &mut self. Read more
Source§

impl<T> Tap3 for T

Source§

fn tap3<M, F, A1, A2, A3>(self, f: F) -> impl FnOnce(A1, A2, A3) -> Self
where F: Tap3Fn<Self, A1, A2, A3, M>,

Moves self in, calls f (which can accept &self OR &mut self), and returns self.
Source§

impl<T> Tap3Ref for T
where T: ?Sized,

Source§

fn tap3_with<'x, X: ?Sized + 'x, R, A1, A2, A3>( &'x self, proj: impl FnOnce(&'x Self) -> &'x X, f: impl FnOnce(&'x X, A1, A2, A3) -> R, ) -> impl FnOnce(A1, A2, A3) -> &'x Self

Calls f(proj(&self), a1..a3) (immutable view), discards the return value, and returns &self.
Source§

fn tap3_with_mut<'x, X: ?Sized + 'x, M, F, A1, A2, A3>( &'x mut self, proj: impl FnOnce(&mut Self) -> &mut X, f: F, ) -> impl FnOnce(A1, A2, A3) -> &'x mut Self
where F: Tap3Fn<X, A1, A2, A3, M>,

Calls f(proj(&mut self), a1..a3) (mutable view), discards the return value, and returns &mut self. Read more
Source§

impl<T> Tap4 for T

Source§

fn tap4<M, F, A1, A2, A3, A4>(self, f: F) -> impl FnOnce(A1, A2, A3, A4) -> Self
where F: Tap4Fn<Self, A1, A2, A3, A4, M>,

Moves self in, calls f (which can accept &self OR &mut self), and returns self.
Source§

impl<T> Tap4Ref for T
where T: ?Sized,

Source§

fn tap4_with<'x, X: ?Sized + 'x, R, A1, A2, A3, A4>( &'x self, proj: impl FnOnce(&'x Self) -> &'x X, f: impl FnOnce(&'x X, A1, A2, A3, A4) -> R, ) -> impl FnOnce(A1, A2, A3, A4) -> &'x Self

Calls f(proj(&self), a1..a4) (immutable view), discards the return value, and returns &self.
Source§

fn tap4_with_mut<'x, X: ?Sized + 'x, M, F, A1, A2, A3, A4>( &'x mut self, proj: impl FnOnce(&mut Self) -> &mut X, f: F, ) -> impl FnOnce(A1, A2, A3, A4) -> &'x mut Self
where F: Tap4Fn<X, A1, A2, A3, A4, M>,

Calls f(proj(&mut self), a1..a4) (mutable view), discards the return value, and returns &mut self. Read more
Source§

impl<T> Tap5 for T

Source§

fn tap5<M, F, A1, A2, A3, A4, A5>( self, f: F, ) -> impl FnOnce(A1, A2, A3, A4, A5) -> Self
where F: Tap5Fn<Self, A1, A2, A3, A4, A5, M>,

Moves self in, calls f (which can accept &self OR &mut self), and returns self.
Source§

impl<T> Tap5Ref for T
where T: ?Sized,

Source§

fn tap5_with<'x, X: ?Sized + 'x, R, A1, A2, A3, A4, A5>( &'x self, proj: impl FnOnce(&'x Self) -> &'x X, f: impl FnOnce(&'x X, A1, A2, A3, A4, A5) -> R, ) -> impl FnOnce(A1, A2, A3, A4, A5) -> &'x Self

Calls f(proj(&self), a1..a5) (immutable view), discards the return value, and returns &self.
Source§

fn tap5_with_mut<'x, X: ?Sized + 'x, M, F, A1, A2, A3, A4, A5>( &'x mut self, proj: impl FnOnce(&mut Self) -> &mut X, f: F, ) -> impl FnOnce(A1, A2, A3, A4, A5) -> &'x mut Self
where F: Tap5Fn<X, A1, A2, A3, A4, A5, M>,

Calls f(proj(&mut self), a1..a5) (mutable view), discards the return value, and returns &mut self. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.