Trait tap::TapFallible[][src]

pub trait TapFallible where
    Self: Sized
{ type Ok: ?Sized; type Err: ?Sized; fn tap_ok(self, func: impl FnOnce(&Self::Ok)) -> Self;
fn tap_ok_mut(self, func: impl FnOnce(&mut Self::Ok)) -> Self;
fn tap_err(self, func: impl FnOnce(&Self::Err)) -> Self;
fn tap_err_mut(self, func: impl FnOnce(&mut Self::Err)) -> Self; fn tap_ok_dbg(self, func: impl FnOnce(&Self::Ok)) -> Self { ... }
fn tap_ok_mut_dbg(self, func: impl FnOnce(&mut Self::Ok)) -> Self { ... }
fn tap_err_dbg(self, func: impl FnOnce(&Self::Err)) -> Self { ... }
fn tap_err_mut_dbg(self, func: impl FnOnce(&mut Self::Err)) -> Self { ... } }

Fallible tapping, conditional on the optional success of an expression.

This trait is intended for use on types that express the concept of “fallible presence”, primarily the Result monad. It provides taps that inspect the container to determine if the effect function should execute or not.

Note: This trait would ideally be implemented as a blanket over all std::ops::Try implementors. When Try stabilizes, this crate can be updated to do so.

Associated Types

type Ok: ?Sized[src]

The interior type used to indicate a successful construction.

type Err: ?Sized[src]

The interior type used to indicate a failed construction.

Loading content...

Required methods

fn tap_ok(self, func: impl FnOnce(&Self::Ok)) -> Self[src]

Immutably accesses an interior success value.

This function is identical to Tap::tap, except that it is required to check the implementing container for value success before running. Implementors must not run the effect function if the container is marked as being a failure.

fn tap_ok_mut(self, func: impl FnOnce(&mut Self::Ok)) -> Self[src]

Mutably accesses an interior success value.

This function is identical to Tap::tap_mut, except that it is required to check the implementing container for value success before running. Implementors must not run the effect function if the container is marked as being a failure.

fn tap_err(self, func: impl FnOnce(&Self::Err)) -> Self[src]

Immutably accesses an interior failure value.

This function is identical to Tap::tap, except that it is required to check the implementing container for value failure before running. Implementors must not run the effect function if the container is marked as being a success.

fn tap_err_mut(self, func: impl FnOnce(&mut Self::Err)) -> Self[src]

Mutably accesses an interior failure value.

This function is identical to Tap::tap_mut, except that it is required to check the implementing container for value failure before running. Implementors must not run the effect function if the container is marked as being a success.

Loading content...

Provided methods

fn tap_ok_dbg(self, func: impl FnOnce(&Self::Ok)) -> Self[src]

Calls .tap_ok() only in debug builds, and is erased in release builds.

fn tap_ok_mut_dbg(self, func: impl FnOnce(&mut Self::Ok)) -> Self[src]

Calls .tap_ok_mut() only in debug builds, and is erased in release builds.

fn tap_err_dbg(self, func: impl FnOnce(&Self::Err)) -> Self[src]

Calls .tap_err() only in debug builds, and is erased in release builds.

fn tap_err_mut_dbg(self, func: impl FnOnce(&mut Self::Err)) -> Self[src]

Calls .tap_err_mut() only in debug builds, and is erased in release builds.

Loading content...

Implementations on Foreign Types

impl<T, E> TapFallible for Result<T, E>[src]

type Ok = T

type Err = E

Loading content...

Implementors

Loading content...