Skip to main content

CratesIoResolver

Struct CratesIoResolver 

Source
pub struct CratesIoResolver { /* private fields */ }
Expand description

crates.io-style artifact resolver owned by the CLI layer.

The default resolver performs no network access. It resolves a spec only from an already-seeded local cache or an explicitly registered registry artifact. With the registry feature, callers can install GitRegistryResolver so unresolved specs fetch from an explicit git registry artifact endpoint and then enter the same cache layout.

Implementations§

Source§

impl CratesIoResolver

Source

pub fn new(cache_dir: PathBuf) -> Self

Builds a cache-only resolver rooted at a cache directory.

Source

pub fn default_cache_dir() -> PathBuf

Returns the default cache directory.

Honors SIM_CLI_CACHE_DIR, then XDG_CACHE_HOME, then HOME, and falls back to the system temporary directory.

Source

pub fn cache_dir(&self) -> &Path

Returns the cache directory this resolver reads from.

Source

pub fn add_registry_artifact( &mut self, package: impl Into<String>, version: impl Into<String>, artifact: impl Into<PathBuf>, )

Registers an in-memory registry artifact available for resolution.

Source

pub fn with_registry_artifact( self, package: impl Into<String>, version: impl Into<String>, artifact: impl Into<PathBuf>, ) -> Self

Registers an in-memory registry artifact, returning self.

Source

pub fn resolve( &self, spec: &CratesIoSpec, ) -> Result<ResolvedCratesIoSource, CliError>

Resolves a spec to a cached artifact, seeding the cache when needed.

Prefers an already-cached artifact, then a registered registry artifact. With the registry feature and an installed git registry resolver, misses can fetch through that resolver. Otherwise misses fail closed with a clear cache-only error rather than pretending to fetch one.

Trait Implementations§

Source§

impl Clone for CratesIoResolver

Source§

fn clone(&self) -> CratesIoResolver

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CratesIoResolver

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for CratesIoResolver

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.