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"
version = "0.0.1"
dependencies = [
"anyhow",
"arcstr",
"clap",
"dashmap",

View File

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

View File

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

View File

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

View File

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

View File

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