Skip to main content

Resolve

Trait Resolve 

Source
pub trait Resolve<'db> {
    // Required method
    async fn resolve_in(self, env: &mut Env<'db>) -> Errors<NameResolution<'db>>;
}
Expand description

Full name resolution: This requires converting generic arguments into symbols which entails some amount of type checking and interacting with the environment. This is therefore an async function.

Required Methods§

Source

async fn resolve_in(self, env: &mut Env<'db>) -> Errors<NameResolution<'db>>

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.

Implementations on Foreign Types§

Source§

impl<'db> Resolve<'db> for AstPath<'db>

Source§

async fn resolve_in(self, env: &mut Env<'db>) -> Errors<NameResolution<'db>>

Given a path that must resolve to some kind of name resolution, resolve it if we can (reporting errors if it is invalid).

Source§

impl<'db> Resolve<'db> for SpannedIdentifier<'db>

Source§

async fn resolve_in(self, env: &mut Env<'db>) -> Errors<NameResolution<'db>>

Implementors§