pub trait SelectionPart<Scope, Idx>: Sealed<Scope, Idx> {
type Fields<Tail>;
// Required method
fn push_items(&self, out: &mut Vec<SelectItem>);
}Expand description
One element of a selection list. A column or an expression contributes
one field; All contributes a whole table’s worth, and a tuple whatever
its own elements do. Fields<Tail> is what it puts in front of whatever
the rest of the list contributes, so a list is assembled by nesting
rather than by concatenating afterwards.
A tuple being one of these is what lets a selection be named once and
used in several places: a const of columns goes into select(..) on
its own and into a longer tuple beside an aggregate, with no macro to
expand it at each call site.
Required Associated Types§
Required Methods§
fn push_items(&self, out: &mut Vec<SelectItem>)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".