pub struct Cons<Head, Tail>(/* private fields */);Expand description
A non-empty scope: Head joined with nullability tracked in
TableSlot, followed by the rest of the scope in Tail. Most recently
joined table first, which is the order a hand-written Scope alias has
to be spelled in.
Known limitation: a table appears at most once, and uniqueness is by
marker type, not by SQL name. Joining one marker twice is reported later,
as an inference ambiguity the first time a column of it is referenced;
two different markers that share a Table::NAME are not caught at all
and render FROM "t" JOIN "t". Two schemas must not name the same table.
Trait Implementations§
Source§impl<T: Table, N: Nullability, Tail> Find<T, Here> for Cons<TableSlot<T, N>, Tail>
impl<T: Table, N: Nullability, Tail> Find<T, Here> for Cons<TableSlot<T, N>, Tail>
Source§type Nullability = N
type Nullability = N
The nullability
T has in this scope (derived from how it was
joined, not asserted manually).Source§impl<T: Table, Head, Tail, I> Find<T, There<I>> for Cons<Head, Tail>where
Tail: Find<T, I>,
impl<T: Table, Head, Tail, I> Find<T, There<I>> for Cons<Head, Tail>where
Tail: Find<T, I>,
Source§type Nullability = <Tail as Find<T, I>>::Nullability
type Nullability = <Tail as Find<T, I>>::Nullability
The nullability
T has in this scope (derived from how it was
joined, not asserted manually).Source§impl<T: Table, N: Nullability, Tail: MapNullable> MapNullable for Cons<TableSlot<T, N>, Tail>
impl<T: Table, N: Nullability, Tail: MapNullable> MapNullable for Cons<TableSlot<T, N>, Tail>
Source§impl<T: Table, N: Nullability, Tail: ScopeTables> ScopeTables for Cons<TableSlot<T, N>, Tail>
impl<T: Table, N: Nullability, Tail: ScopeTables> ScopeTables for Cons<TableSlot<T, N>, Tail>
Auto Trait Implementations§
impl<Head, Tail> Freeze for Cons<Head, Tail>
impl<Head, Tail> RefUnwindSafe for Cons<Head, Tail>
impl<Head, Tail> Send for Cons<Head, Tail>
impl<Head, Tail> Sync for Cons<Head, Tail>
impl<Head, Tail> Unpin for Cons<Head, Tail>
impl<Head, Tail> UnsafeUnpin for Cons<Head, Tail>
impl<Head, Tail> UnwindSafe for Cons<Head, Tail>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more