pub trait AppearsOnTable<QS: ?Sized>: Expression { }Expand description
Indicates that all elements of an expression are valid given a from clause.
This is used to ensure that users.filter(posts::id.eq(1)) fails to
compile. This constraint is only used in places where the nullability of a
SQL type doesn’t matter (everything except select and returning). For
places where nullability is important, SelectableExpression is used
instead.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
impl<'a, T, QS> AppearsOnTable<QS> for &'a T
impl<T, QS> AppearsOnTable<QS> for Arc<T>
impl<T, QS> AppearsOnTable<QS> for Box<T>
impl<T, QS> AppearsOnTable<QS> for Rc<T>
Implementors§
impl<L, R, QS> AppearsOnTable<QS> for Concat<L, R>
impl<QS, Query, Value> AppearsOnTable<QS> for UncheckedBind<Query, Value>where
Self: Expression,
impl<QS, S, C> AppearsOnTable<QS> for AliasedField<S, C>where
S: AliasSource,
QS: AppearsInFromClause<Alias<S>, Count = Once>,
C: QueryRelationField<QueryRelation = S::Target>,
impl<QS, ST, T> AppearsOnTable<QS> for SqlLiteral<ST, T>where
Self: Expression,
impl<QS> AppearsOnTable<QS> for nowwhere
now: Expression,
impl<QS> AppearsOnTable<QS> for todaywhere
today: Expression,
impl<ST, I, QS> AppearsOnTable<QS> for Many<ST, I>where
Many<ST, I>: Expression,
I: AsExpression<ST>,
ST: SingleValue,
<I as AsExpression<ST>>::Expression: SelectableExpression<QS>,
Available on crate feature
i-implement-a-third-party-backend-and-opt-into-breaking-changes only.impl<T, C, QS> AppearsOnTable<QS> for Collate<T, C>
impl<T, QS> AppearsOnTable<QS> for Exists<T>
Available on crate feature
i-implement-a-third-party-backend-and-opt-into-breaking-changes only.impl<T, U, QS> AppearsOnTable<QS> for In<T, U>
Available on crate feature
i-implement-a-third-party-backend-and-opt-into-breaking-changes only.impl<T, U, QS> AppearsOnTable<QS> for NotIn<T, U>
Available on crate feature
i-implement-a-third-party-backend-and-opt-into-breaking-changes only.