pub trait OmenaResolverV0 {
// Required methods
fn canonicalize(
&self,
context: &OmenaResolverReferenceContextV0,
raw_reference: &str,
) -> Result<OmenaResolverCanonicalUrlV0, OmenaResolverErrorV0>;
fn load(
&self,
canonical_url: &OmenaResolverCanonicalUrlV0,
) -> Result<OmenaResolverLoadedSourceV0, OmenaResolverErrorV0>;
}Expand description
Shared resolver protocol for CLI, LSP, fixture, and query paths.
canonicalize must be deterministic over an immutable workspace snapshot
and must not perform filesystem or network I/O. load may be implemented
by local-disk-backed resolvers, but it must never fetch from the network.
Required Methods§
fn canonicalize( &self, context: &OmenaResolverReferenceContextV0, raw_reference: &str, ) -> Result<OmenaResolverCanonicalUrlV0, OmenaResolverErrorV0>
fn load( &self, canonical_url: &OmenaResolverCanonicalUrlV0, ) -> Result<OmenaResolverLoadedSourceV0, OmenaResolverErrorV0>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".