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§
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>
impl<'db> Resolve<'db> for AstPath<'db>
Source§async fn resolve_in(self, env: &mut Env<'db>) -> Errors<NameResolution<'db>>
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).