pub trait SourceResolver {
// Required methods
fn identify(
&self,
from: Option<&SourceId>,
import: &str,
) -> Result<SourceId, ResolveError>;
fn load(
&self,
id: &SourceId,
limits: &Limits,
) -> Result<ResolvedSource, ResolveError>;
// Provided methods
fn load_with_context(
&self,
id: &SourceId,
context: &RuntimeContext,
) -> Result<ResolvedSource, ResolveError> { ... }
fn resolve(
&self,
from: Option<&SourceId>,
import: &str,
limits: &Limits,
) -> Result<ResolvedSource, ResolveError> { ... }
fn resolve_with_context(
&self,
from: Option<&SourceId>,
import: &str,
context: &RuntimeContext,
) -> Result<ResolvedSource, ResolveError> { ... }
}Required Methods§
fn identify( &self, from: Option<&SourceId>, import: &str, ) -> Result<SourceId, ResolveError>
fn load( &self, id: &SourceId, limits: &Limits, ) -> Result<ResolvedSource, ResolveError>
Provided Methods§
Sourcefn load_with_context(
&self,
id: &SourceId,
context: &RuntimeContext,
) -> Result<ResolvedSource, ResolveError>
fn load_with_context( &self, id: &SourceId, context: &RuntimeContext, ) -> Result<ResolvedSource, ResolveError>
Loads with cooperative runtime cancellation and deadline checks. Implementations that do long-running work may override this method to checkpoint internally.
fn resolve( &self, from: Option<&SourceId>, import: &str, limits: &Limits, ) -> Result<ResolvedSource, ResolveError>
fn resolve_with_context( &self, from: Option<&SourceId>, import: &str, context: &RuntimeContext, ) -> Result<ResolvedSource, ResolveError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl SourceResolver for MemoryResolver
impl SourceResolver for WorkspaceResolver
Available on crate feature
filesystem-compiler only.