Skip to main content

DslResolverTrait

Trait DslResolverTrait 

pub trait DslResolverTrait {
    // Required methods
    fn name(&self) -> Result<PlSmallStr, PolarsError>;
    fn schema(
        &self,
    ) -> Result<Pin<Box<dyn Future<Output = Result<Arc<Schema<DataType, ()>>, PolarsError>> + Send>>, PolarsError>;
    fn resolve_dsl(
        &self,
        args: ResolveDslArgs,
        filters_eir: Buffer<ExprIR>,
        existing_resolved_version_key: Option<PlSmallStr>,
        expr_arena: &Arena<AExpr>,
        resolver_schema: Arc<Schema<DataType, ()>>,
    ) -> Result<Pin<Box<dyn Future<Output = Result<ResolvedDsl, PolarsError>> + Send>>, PolarsError>;
    fn cse_eq(&self, other: &Self) -> Result<bool, PolarsError>;
}
Available on crate feature lazy only.

Required Methods§

fn name(&self) -> Result<PlSmallStr, PolarsError>

fn schema( &self, ) -> Result<Pin<Box<dyn Future<Output = Result<Arc<Schema<DataType, ()>>, PolarsError>> + Send>>, PolarsError>

fn resolve_dsl( &self, args: ResolveDslArgs, filters_eir: Buffer<ExprIR>, existing_resolved_version_key: Option<PlSmallStr>, expr_arena: &Arena<AExpr>, resolver_schema: Arc<Schema<DataType, ()>>, ) -> Result<Pin<Box<dyn Future<Output = Result<ResolvedDsl, PolarsError>> + Send>>, PolarsError>

fn cse_eq(&self, other: &Self) -> Result<bool, PolarsError>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§