pub enum ValueSite {
Membership {
array_items: Vec<usize>,
},
Cast(String),
CompositeRow(CompositeRowBinding),
Literal,
Constant {
value: Value,
ty: String,
},
Relabel(String),
FunctionOrder(FunctionOrderSyntax),
Node,
}Expand description
An expression site of stored syntax and what binding recorded for it.
Variants§
Membership
Positions grouped into a scalar-array comparison; the other IN items become individual comparisons.
Cast(String)
A cast, with the type name binding gave it.
CompositeRow(CompositeRowBinding)
A ROW constructor bound to its original composite attribute positions.
Literal
An unknown literal that binding left unconverted.
Constant
An unknown literal that binding converted to a typed constant.
Relabel(String)
A cast binding wrapped around the syntax, coercing an operand to the type its operator declares, as a RelabelType or an implicit coercion does.
FunctionOrder(FunctionOrderSyntax)
A function’s written ordering syntax, including a legacy call whose selected binding recovered the distinction.
Node
Any other node of stored syntax, which keeps the sites in step with the syntax so that a relabel reaches the node it wraps.
Trait Implementations§
impl StructuralPartialEq for ValueSite
Auto Trait Implementations§
impl Freeze for ValueSite
impl RefUnwindSafe for ValueSite
impl Send for ValueSite
impl Sync for ValueSite
impl Unpin for ValueSite
impl UnsafeUnpin for ValueSite
impl UnwindSafe for ValueSite
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more