pub trait AggOr<Rhs: AggregateKind>: AggregateKind {
type Output: AggregateKind;
}Expand description
Combine aggregate kinds: if either input is Agg, output is Agg.
This follows SQL’s aggregate propagation semantics: an expression
derived from any aggregate sub-expression is itself aggregate
(e.g. SUM(x) + 5 is aggregate, not scalar).
§Truth Table
| Left | Right | Output |
|---|---|---|
| Scalar | Scalar | Scalar |
| Scalar | Agg | Agg |
| Agg | Scalar | Agg |
| Agg | Agg | Agg |
Required Associated Types§
Sourcetype Output: AggregateKind
type Output: AggregateKind
The resulting aggregate kind.
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.