pub trait ExprDataSource<T = Value>: DataSource {
// Required methods
fn execute(
&self,
expr: &Expression<T>,
) -> impl Future<Output = Result<T, VantageError>> + Send;
fn defer(&self, expr: Expression<T>) -> DeferredFn<T>
where T: Clone + Send + Sync + 'static;
// Provided method
fn associate<R>(
&self,
expr: Expression<T>,
) -> AssociatedExpression<'_, Self, T, R>
where Self: Sized { ... }
}Expand description
DataSource that can also execute expressions.
Required Methods§
fn execute( &self, expr: &Expression<T>, ) -> impl Future<Output = Result<T, VantageError>> + Send
fn defer(&self, expr: Expression<T>) -> DeferredFn<T>
Provided Methods§
Sourcefn associate<R>(
&self,
expr: Expression<T>,
) -> AssociatedExpression<'_, Self, T, R>where
Self: Sized,
fn associate<R>(
&self,
expr: Expression<T>,
) -> AssociatedExpression<'_, Self, T, R>where
Self: Sized,
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".