Get rid of anyhow in the resolver

This commit is contained in:
konstin 2025-07-25 19:56:25 +02:00
parent 9627426d10
commit c354da6a7c
8 changed files with 9 additions and 11 deletions

1
Cargo.lock generated
View File

@ -5791,7 +5791,6 @@ dependencies = [
name = "uv-resolver" name = "uv-resolver"
version = "0.0.1" version = "0.0.1"
dependencies = [ dependencies = [
"anyhow",
"arcstr", "arcstr",
"clap", "clap",
"dashmap", "dashmap",

View File

@ -59,12 +59,12 @@ pub use crate::cached::*;
pub use crate::dependency_metadata::*; pub use crate::dependency_metadata::*;
pub use crate::diagnostic::*; pub use crate::diagnostic::*;
pub use crate::dist_error::*; pub use crate::dist_error::*;
pub use crate::dist_or_variant_filename::*;
pub use crate::error::*; pub use crate::error::*;
pub use crate::file::*; pub use crate::file::*;
pub use crate::hash::*; pub use crate::hash::*;
pub use crate::id::*; pub use crate::id::*;
pub use crate::index::*; pub use crate::index::*;
pub use crate::index_entry::*;
pub use crate::index_name::*; pub use crate::index_name::*;
pub use crate::index_url::*; pub use crate::index_url::*;
pub use crate::installed::*; pub use crate::installed::*;
@ -89,12 +89,12 @@ mod cached;
mod dependency_metadata; mod dependency_metadata;
mod diagnostic; mod diagnostic;
mod dist_error; mod dist_error;
mod dist_or_variant_filename;
mod error; mod error;
mod file; mod file;
mod hash; mod hash;
mod id; mod id;
mod index; mod index;
mod index_entry;
mod index_name; mod index_name;
mod index_url; mod index_url;
mod installed; mod installed;

View File

@ -43,8 +43,6 @@ uv-variants = { workspace = true }
uv-warnings = { workspace = true } uv-warnings = { workspace = true }
uv-workspace = { workspace = true } uv-workspace = { workspace = true }
# TODO(konsti): no anyhow plz rlly
anyhow = { workspace = true }
arcstr = { workspace = true } arcstr = { workspace = true }
clap = { workspace = true, features = ["derive"], optional = true } clap = { workspace = true, features = ["derive"], optional = true }
dashmap = { workspace = true } dashmap = { workspace = true }

View File

@ -48,7 +48,7 @@ pub enum ResolveError {
), ),
#[error(transparent)] #[error(transparent)]
VariantFrontend(anyhow::Error), VariantFrontend(uv_distribution::Error),
#[error(transparent)] #[error(transparent)]
Client(#[from] uv_client::Error), Client(#[from] uv_client::Error),

View File

@ -21,7 +21,7 @@ pub use resolution_mode::ResolutionMode;
pub use resolver::{ pub use resolver::{
BuildId, DefaultResolverProvider, DerivationChainBuilder, InMemoryIndex, MetadataResponse, BuildId, DefaultResolverProvider, DerivationChainBuilder, InMemoryIndex, MetadataResponse,
PackageVersionsResult, Reporter as ResolverReporter, Resolver, ResolverEnvironment, PackageVersionsResult, Reporter as ResolverReporter, Resolver, ResolverEnvironment,
ResolverProvider, VersionsResponse, WheelMetadataResult, ResolverProvider, VariantProviderResult, VersionsResponse, WheelMetadataResult,
}; };
pub use universal_marker::{ConflictMarker, UniversalMarker}; pub use universal_marker::{ConflictMarker, UniversalMarker};
pub use version_map::VersionMap; pub use version_map::VersionMap;

View File

@ -71,7 +71,7 @@ pub use crate::resolver::index::InMemoryIndex;
use crate::resolver::indexes::Indexes; use crate::resolver::indexes::Indexes;
pub use crate::resolver::provider::{ pub use crate::resolver::provider::{
DefaultResolverProvider, MetadataResponse, PackageVersionsResult, ResolverProvider, DefaultResolverProvider, MetadataResponse, PackageVersionsResult, ResolverProvider,
VersionsResponse, WheelMetadataResult, VariantProviderResult, VersionsResponse, WheelMetadataResult,
}; };
pub use crate::resolver::reporter::{BuildId, Reporter}; pub use crate::resolver::reporter::{BuildId, Reporter};
use crate::resolver::system::SystemDependency; use crate::resolver::system::SystemDependency;

View File

@ -20,6 +20,7 @@ use crate::yanks::AllowedYanks;
pub type PackageVersionsResult = Result<VersionsResponse, uv_client::Error>; pub type PackageVersionsResult = Result<VersionsResponse, uv_client::Error>;
pub type WheelMetadataResult = Result<MetadataResponse, uv_distribution::Error>; pub type WheelMetadataResult = Result<MetadataResponse, uv_distribution::Error>;
pub type VariantProviderResult = Result<ResolvedVariants, uv_distribution::Error>;
/// The response when requesting versions for a package /// The response when requesting versions for a package
#[derive(Debug)] #[derive(Debug)]
@ -104,7 +105,7 @@ pub trait ResolverProvider {
fn fetch_and_query_variants<'io>( fn fetch_and_query_variants<'io>(
&'io self, &'io self,
variants_json: &'io RegistryVariantsJson, variants_json: &'io RegistryVariantsJson,
) -> impl Future<Output = anyhow::Result<ResolvedVariants>> + 'io; ) -> impl Future<Output = VariantProviderResult> + 'io;
/// Set the [`Reporter`] to use for this installer. /// Set the [`Reporter`] to use for this installer.
#[must_use] #[must_use]
@ -312,8 +313,8 @@ impl<Context: BuildContext> ResolverProvider for DefaultResolverProvider<'_, Con
async fn fetch_and_query_variants<'io>( async fn fetch_and_query_variants<'io>(
&'io self, &'io self,
variants_json: &'io RegistryVariantsJson, variants_json: &'io RegistryVariantsJson,
) -> anyhow::Result<ResolvedVariants> { ) -> VariantProviderResult {
Ok(self.fetcher.fetch_and_query_variants(variants_json).await?) self.fetcher.fetch_and_query_variants(variants_json).await
} }
/// Set the [`Reporter`] to use for this installer. /// Set the [`Reporter`] to use for this installer.