Coat

Trait Coat 

Source
pub trait Coat<I: Coat<Self>>: Sized {
    // Required method
    fn coat(self) -> I;
}
Expand description

Implemented by types that differ from T by adding or removing at most one level of Coated.

Required Methods§

Source

fn coat(self) -> I

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.

Implementations on Foreign Types§

Source§

impl Coat<()> for ()

Source§

fn coat(self)

Source§

impl<I: Coat<CI>, CI: Coat<I>> Coat<(CI,)> for (I,)

Source§

fn coat(self) -> (CI,)

Source§

impl<I: Coat<CI>, CI: Coat<I>, J: Coat<CJ>, CJ: Coat<J>> Coat<(CI, CJ)> for (I, J)

Source§

impl<I: Coat<CI>, CI: Coat<I>, J: Coat<CJ>, CJ: Coat<J>, K: Coat<CK>, CK: Coat<K>> Coat<(CI, CJ, CK)> for (I, J, K)

Implementors§

Source§

impl<I> Coat<Coated<I>> for I

Source§

impl<I> Coat<I> for Coated<I>

Source§

impl<I: NonTuple> Coat<I> for I