Trait InsertIntoTemplate

Source
pub trait InsertIntoTemplate<'a, T, A>
where T: Generatable<'a, A> + 'a, A: 'a + TidAble<'a>,
{ type Output: RawAssertable<'a>; // Required method fn test<B>(self, ty: impl Into<MaybeBorrowed<'a, A>>) -> Self::Output where B: TypeEq<This = A>; }

Required Associated Types§

Source

type Output: RawAssertable<'a>

The type of the Assert generated by the Template Self

Required Methods§

Source

fn test<B>(self, ty: impl Into<MaybeBorrowed<'a, A>>) -> Self::Output
where B: TypeEq<This = A>,

Test some type against the template Self and turn it into Self::Output. So that the type may either be borrowed or owned, any type that can be turned into MaybeBorrowed<T::Assert>

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<'a, T, A> InsertIntoTemplate<'a, T, A> for &'a T
where T: Generatable<'a, A> + 'a + Ord + Eq, A: Ord + Eq + 'a + TidAble<'a>,

Source§

type Output = Assert<'a, T, A>

Source§

fn test<B>(self, ty: impl Into<MaybeBorrowed<'a, A>>) -> Assert<'a, T, A>
where B: TypeEq<This = A>,

Implementors§

Source§

impl<'a, T, A> InsertIntoTemplate<'a, T, A> for WithGenerics<'a, MaybeBorrowed<'a, T>>
where T: Generatable<'a, A> + Eq + Ord, A: Eq + Ord + 'a + TidAble<'a>,

Source§

type Output = WithGenerics<'a, Assert<'a, T, A>>

Source§

impl<'a, T, A> InsertIntoTemplate<'a, T, A> for WithGenerics<'a, T>
where T: Generatable<'a, A> + Eq + Ord, A: Eq + Ord + 'a + TidAble<'a>,

Source§

type Output = RawAssert<'a, T, A>

Source§

impl<'a, T, A> InsertIntoTemplate<'a, T, A> for T
where T: Generatable<'a, A> + 'a + Ord + Eq, A: Ord + Eq + 'a + TidAble<'a>,

Source§

type Output = Assert<'a, T, A>