Skip to main content

TypeExpression

Trait TypeExpression 

Source
pub trait TypeExpression<Out = Handle> {
    // Required method
    fn evaluate(&self, table: &mut Table, node: Handle) -> Result<Out, Error>;
}
Expand description

A TypeExpression is a syntactic representation of a TypeKind, and is used to construct type bindings in a Table’s typing context.

Required Methods§

Source

fn evaluate(&self, table: &mut Table, node: Handle) -> Result<Out, Error>

Evaluates a type expression, recursively creating intermediate bindings.

Implementations on Foreign Types§

Source§

impl TypeExpression for Expr

Source§

fn evaluate(&self, table: &mut Table, node: Handle) -> Result<Handle, Error>

Source§

impl TypeExpression for Pat

Source§

fn evaluate(&self, table: &mut Table, node: Handle) -> Result<Handle, Error>

Source§

impl TypeExpression for Path

Source§

fn evaluate(&self, table: &mut Table, node: Handle) -> Result<Handle, Error>

Source§

impl TypeExpression for Symbol

Source§

fn evaluate(&self, table: &mut Table, node: Handle) -> Result<Handle, Error>

Source§

impl TypeExpression for [Symbol]

Source§

fn evaluate(&self, table: &mut Table, node: Handle) -> Result<Handle, Error>

Source§

impl<T: TypeExpression<U> + AstNode, U, A: AstTypes> TypeExpression<U> for At<T, A>

Source§

fn evaluate(&self, table: &mut Table, node: Handle) -> Result<U, Error>

Source§

impl<T: TypeExpression<U>, U> TypeExpression<Vec<U>> for [T]

Source§

fn evaluate(&self, table: &mut Table, node: Handle) -> Result<Vec<U>, Error>

Implementors§