pub trait Lookup<E: Error = ResolveError> {
// Required methods
fn lookup(
&self,
name: &QualifiedName,
target: LookupTarget,
) -> Result<Symbol, E>;
fn ambiguity_error(ambiguous: QualifiedName, others: QualifiedNames) -> E;
// Provided methods
fn lookup_within(
&self,
name: &QualifiedName,
within: &Symbol,
target: LookupTarget,
) -> Result<Symbol, E> { ... }
fn lookup_within_opt(
&self,
name: &QualifiedName,
within: &Option<Symbol>,
target: LookupTarget,
) -> Result<Symbol, E> { ... }
fn deny_super(&self, name: &QualifiedName) -> ResolveResult<()> { ... }
}Expand description
Trait to lookup symbols by qualified name.
Required Methods§
Sourcefn lookup(
&self,
name: &QualifiedName,
target: LookupTarget,
) -> Result<Symbol, E>
fn lookup( &self, name: &QualifiedName, target: LookupTarget, ) -> Result<Symbol, E>
Search a symbol by it’s qualified name.
§Arguments
name: Qualified name to search for.target: What to search for
Sourcefn ambiguity_error(ambiguous: QualifiedName, others: QualifiedNames) -> E
fn ambiguity_error(ambiguous: QualifiedName, others: QualifiedNames) -> E
Return an ambiguity error.
Provided Methods§
Sourcefn lookup_within(
&self,
name: &QualifiedName,
within: &Symbol,
target: LookupTarget,
) -> Result<Symbol, E>
fn lookup_within( &self, name: &QualifiedName, within: &Symbol, target: LookupTarget, ) -> Result<Symbol, E>
Sourcefn lookup_within_opt(
&self,
name: &QualifiedName,
within: &Option<Symbol>,
target: LookupTarget,
) -> Result<Symbol, E>
fn lookup_within_opt( &self, name: &QualifiedName, within: &Option<Symbol>, target: LookupTarget, ) -> Result<Symbol, E>
Sourcefn deny_super(&self, name: &QualifiedName) -> ResolveResult<()>
fn deny_super(&self, name: &QualifiedName) -> ResolveResult<()>
Returns an error if name starts with super::.
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.