Skip to main content

ForLifetimeTable

Trait ForLifetimeTable 

Source
pub trait ForLifetimeTable: Sized {
    type Of<'lt>: Table<'lt> + Sized
       where Self: 'lt;
}
Expand description

A helper trait that allows us to talk about a Table with different lifetimes. Conceptually it is a type level function of lt -> T where T: Table<'lt>.

If you implement Table on your type, you must also implement ForLifetimeTable.

Required Associated Types§

Source

type Of<'lt>: Table<'lt> + Sized where Self: 'lt

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: ForLifetimeTable> ForLifetimeTable for (A,)

Source§

type Of<'lt> = (<A as ForLifetimeTable>::Of<'lt>,) where A: 'lt

Source§

impl<A: ForLifetimeTable, B: ForLifetimeTable> ForLifetimeTable for (A, B)

Source§

type Of<'lt> = (<A as ForLifetimeTable>::Of<'lt>, <B as ForLifetimeTable>::Of<'lt>) where A: 'lt, B: 'lt

Source§

impl<A: ForLifetimeTable, B: ForLifetimeTable, C: ForLifetimeTable> ForLifetimeTable for (A, B, C)

Source§

type Of<'lt> = (<A as ForLifetimeTable>::Of<'lt>, <B as ForLifetimeTable>::Of<'lt>, <C as ForLifetimeTable>::Of<'lt>) where A: 'lt, B: 'lt, C: 'lt

Implementors§

Source§

impl<T> ForLifetimeTable for Expr<'static, T>

Source§

type Of<'lt> = Expr<'lt, T> where T: 'lt

Source§

impl<T: ForLifetimeTable + Table<'static>> ForLifetimeTable for MaybeTable<'static, T>
where for<'lt> T::Of<'lt>: Table<'lt>,

Source§

type Of<'lt> = MaybeTable<'lt, <T as ForLifetimeTable>::Of<'lt>> where T: 'lt

Source§

impl<T: TableMode, A> ForLifetimeTable for One<'static, T, A>
where for<'a> One<'a, T, A>: Table<'a>, A: Value,

Source§

type Of<'lt> = One<'lt, T, A> where T: 'lt, A: 'lt

Source§

impl<T: TableMode, A, B> ForLifetimeTable for Two<'static, T, A, B>
where for<'a> Two<'a, T, A, B>: Table<'a>, A: Value, B: Value,

Source§

type Of<'lt> = Two<'lt, T, A, B> where T: 'lt, A: 'lt, B: 'lt

Source§

impl<T: TableMode, A, B, C> ForLifetimeTable for Three<'static, T, A, B, C>
where for<'a> Three<'a, T, A, B, C>: Table<'a>, A: Value, B: Value, C: Value,

Source§

type Of<'lt> = Three<'lt, T, A, B, C> where T: 'lt, A: 'lt, B: 'lt, C: 'lt