QoL: improve query fns that take a sequence of generic arguments
-
The API currently is not easy to use as it accepts a reference to an array containing
impl Operable
. This causes errors when the types implementingOperable
are constructed in the fn call site (temporary data dropped). To fix this issue, a generic type that implementsIntoIterator<Item = T>
whereT: Operable
can be used instead. -
Since a generic type can only be replaced with a single concrete type, different types cannot be mixed. This disallows the use of complex queries passed as params. To fix this, an
RawExpression
type can be provided which holds a string on the inside and implementsOperable
. (for convenience, all types that implementOperable
can have a blanket impl ofFrom<T: Operable> for RawExpression
.