pub(crate) trait EagerVariadicFunc: Display {
type Input<'a>: InputDatumType<'a, EvalError>;
type Output<'a>: OutputDatumType<'a, EvalError>;
// Required methods
fn call<'a>(
&self,
input: Self::Input<'a>,
temp_storage: &'a RowArena,
) -> Self::Output<'a>;
fn output_type(&self, input_types: &[SqlColumnType]) -> SqlColumnType;
// Provided methods
fn propagates_nulls(&self) -> bool { ... }
fn introduces_nulls(&self) -> bool { ... }
fn could_error(&self) -> bool { ... }
fn is_monotone(&self) -> bool { ... }
fn is_associative(&self) -> bool { ... }
fn is_infix_op(&self) -> bool { ... }
}Required Associated Types§
type Input<'a>: InputDatumType<'a, EvalError>
type Output<'a>: OutputDatumType<'a, EvalError>
Required Methods§
fn call<'a>( &self, input: Self::Input<'a>, temp_storage: &'a RowArena, ) -> Self::Output<'a>
fn output_type(&self, input_types: &[SqlColumnType]) -> SqlColumnType
Provided Methods§
fn propagates_nulls(&self) -> bool
fn introduces_nulls(&self) -> bool
fn could_error(&self) -> bool
fn is_monotone(&self) -> bool
fn is_associative(&self) -> bool
fn is_infix_op(&self) -> bool
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.