pub enum PseudoType {
AnyElement,
AnyArray,
AnyNonArray,
AnyCompatible,
}Expand description
PG-style pseudo-type used by polymorphic function signatures.
The resolver substitutes each variant with a concrete
DataType at analyze time based on call-site arguments.
Variants§
AnyElement
Matches any single concrete type. All AnyElement
positions in one signature must resolve to the same
concrete type.
AnyArray
Matches any array type. The element type is inferred
from any AnyElement in the same signature — if no
AnyElement exists, the array’s element type is the
matched type itself.
AnyNonArray
Like AnyElement but rejects array types. Used by
functions that must not accept arrays to avoid
element-wise confusion.
AnyCompatible
Like AnyElement but tolerates implicit coercion via
the cast catalog. Two AnyCompatible positions may
resolve to different concrete types as long as a common
implicit coercion exists.
Trait Implementations§
Source§impl Clone for PseudoType
impl Clone for PseudoType
Source§fn clone(&self) -> PseudoType
fn clone(&self) -> PseudoType
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for PseudoType
Source§impl Debug for PseudoType
impl Debug for PseudoType
impl Eq for PseudoType
Source§impl Hash for PseudoType
impl Hash for PseudoType
Source§impl PartialEq for PseudoType
impl PartialEq for PseudoType
Source§fn eq(&self, other: &PseudoType) -> bool
fn eq(&self, other: &PseudoType) -> bool
self and other values to be equal, and is used by ==.