Trait diesel::expression::NonAggregate[][src]

pub trait NonAggregate: ValidGrouping<()> { }

Trait alias to represent an expression that isn’t aggregate by default.

This trait should never be implemented directly. It is replaced with a trait alias when the unstable feature is enabled.

This alias represents a type which is not aggregate if there is no group by clause. More specifically, it represents for types which implement ValidGrouping<()> where IsAggregate is is_aggregate::No or is_aggregate::Yes.

While this trait is a useful stand-in for common cases, T: NonAggregate cannot always be used when T: ValidGrouping<(), IsAggregate = No> or T: ValidGrouping<(), IsAggregate = Never> could be. For that reason, unless you need to abstract over both columns and literals, you should prefer to use ValidGrouping<()> in your bounds instead.


impl<T> NonAggregate for T where
    T: ValidGrouping<()>,
    T::IsAggregate: MixedAggregates<No, Output = No>, 

Loading content...