Skip to main content

load_resolved_versions

Function load_resolved_versions 

Source
pub async fn load_resolved_versions(
    uri: &Url,
    lockfile_cache: &Arc<LockFileCache>,
    ecosystem: &dyn Ecosystem,
) -> LockfileLoad
Expand description

Loads resolved versions from lock file for a given manifest URI.

Uses the ecosystem’s lockfile provider to locate the lock file, then parse_known_lockfile to parse it. See LockfileLoad for what each outcome means.

§Examples

use deps_core::HttpCache;
use deps_core::lockfile::LockFileCache;
use deps_core::test_util::test_uri;
use deps_engine::classify::resolved::{LockfileLoad, load_resolved_versions};
use deps_engine::setup::CargoEcosystem;
use std::sync::Arc;

#[tokio::main]
async fn main() {
    let ecosystem = CargoEcosystem::new(Arc::new(HttpCache::new()));
    let lockfile_cache = Arc::new(LockFileCache::new());
    // No `Cargo.lock` exists at this synthetic path, so this is a genuine absence — the
    // same fast path a manifest with no lock file takes in production.
    let uri = test_uri("/nonexistent-for-doctest/Cargo.toml");

    let load = load_resolved_versions(&uri, &lockfile_cache, &ecosystem).await;
    assert_eq!(load, LockfileLoad::Absent);
}