pub trait TypeChecker {
type Ast;
type Set;
// Required methods
fn type_ast(
ast: Self::Ast,
tx: &impl SchemaView,
) -> TypingResult<ProjectList>;
fn type_set(
ast: Self::Set,
vars: &mut Relvars,
tx: &impl SchemaView,
) -> TypingResult<ProjectList>;
// Provided methods
fn type_from(
from: SqlFrom,
vars: &mut Relvars,
tx: &impl SchemaView,
) -> TypingResult<RelExpr> { ... }
fn type_relvar(
tx: &impl SchemaView,
name: &str,
) -> TypingResult<Arc<TableSchema>> { ... }
}Required Associated Types§
Required Methods§
fn type_ast(ast: Self::Ast, tx: &impl SchemaView) -> TypingResult<ProjectList>
fn type_set( ast: Self::Set, vars: &mut Relvars, tx: &impl SchemaView, ) -> TypingResult<ProjectList>
Provided Methods§
fn type_from( from: SqlFrom, vars: &mut Relvars, tx: &impl SchemaView, ) -> TypingResult<RelExpr>
fn type_relvar( tx: &impl SchemaView, name: &str, ) -> TypingResult<Arc<TableSchema>>
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.