pub trait Mod<Q> {
// Required method
fn apply(self, q: &mut Q);
}Expand description
Something that modifies a query in place.
Mods are the whole composition story: psql::select((a, b, c)) is one mod made
of three, applied left to right. The query type is the type parameter, so a
mod for a statement that has no such clause simply does not implement
Mod<ThatQuery> and the invalid combination fails to compile.
apply consumes self, so a mod can hand owned data straight to the query
without cloning.
Required Methods§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl<Q, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> Mod<Q> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)
impl<Q, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> Mod<Q> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)
Source§impl<Q, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> Mod<Q> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)
impl<Q, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> Mod<Q> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)
Source§impl<Q, A, B, C, D, E, F, G, H, I, J, K, L, M, N> Mod<Q> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)
impl<Q, A, B, C, D, E, F, G, H, I, J, K, L, M, N> Mod<Q> for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)
Source§impl<Q, A, B, C, D, E, F, G, H, I, J, K, L, M> Mod<Q> for (A, B, C, D, E, F, G, H, I, J, K, L, M)
impl<Q, A, B, C, D, E, F, G, H, I, J, K, L, M> Mod<Q> for (A, B, C, D, E, F, G, H, I, J, K, L, M)
Source§impl<Q, A, B, C, D, E, F, G, H, I, J, K, L> Mod<Q> for (A, B, C, D, E, F, G, H, I, J, K, L)
impl<Q, A, B, C, D, E, F, G, H, I, J, K, L> Mod<Q> for (A, B, C, D, E, F, G, H, I, J, K, L)
Source§impl<Q, A, B, C, D, E, F, G, H, I, J, K> Mod<Q> for (A, B, C, D, E, F, G, H, I, J, K)
impl<Q, A, B, C, D, E, F, G, H, I, J, K> Mod<Q> for (A, B, C, D, E, F, G, H, I, J, K)
Source§impl<Q, A, B, C, D, E, F, G, H, I, J> Mod<Q> for (A, B, C, D, E, F, G, H, I, J)
impl<Q, A, B, C, D, E, F, G, H, I, J> Mod<Q> for (A, B, C, D, E, F, G, H, I, J)
Source§impl<Q, A, B, C, D, E, F, G, H, I> Mod<Q> for (A, B, C, D, E, F, G, H, I)
impl<Q, A, B, C, D, E, F, G, H, I> Mod<Q> for (A, B, C, D, E, F, G, H, I)
Source§impl<Q, A, B, C, D, E, F, G, H> Mod<Q> for (A, B, C, D, E, F, G, H)
impl<Q, A, B, C, D, E, F, G, H> Mod<Q> for (A, B, C, D, E, F, G, H)
Source§impl<Q, A, B, C, D, E, F, G> Mod<Q> for (A, B, C, D, E, F, G)
impl<Q, A, B, C, D, E, F, G> Mod<Q> for (A, B, C, D, E, F, G)
Source§impl<Q, A, B, C, D, E, F> Mod<Q> for (A, B, C, D, E, F)
impl<Q, A, B, C, D, E, F> Mod<Q> for (A, B, C, D, E, F)
Source§impl<Q, A, B, C, D, E> Mod<Q> for (A, B, C, D, E)
impl<Q, A, B, C, D, E> Mod<Q> for (A, B, C, D, E)
Source§impl<Q, A, B, C, D> Mod<Q> for (A, B, C, D)
impl<Q, A, B, C, D> Mod<Q> for (A, B, C, D)
Source§impl<Q, M> Mod<Q> for Option<M>where
M: Mod<Q>,
None applies nothing, which is how a conditional mod is written:
cond.then(|| select::where_(..)). No if statement, no Vec juggling.
impl<Q, M> Mod<Q> for Option<M>where
M: Mod<Q>,
None applies nothing, which is how a conditional mod is written:
cond.then(|| select::where_(..)). No if statement, no Vec juggling.