Skip to content

Commit 4db4059

Browse files
committed
Avoid changing the public API for the dependencies internal iterator
1 parent a11c814 commit 4db4059

File tree

4 files changed

+9
-10
lines changed

4 files changed

+9
-10
lines changed

examples/caching_dependency_provider.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ use std::cell::RefCell;
44

55
use pubgrub::range::Range;
66
use pubgrub::solver::{resolve, Dependencies, DependencyProvider, OfflineDependencyProvider};
7-
use pubgrub::type_aliases::DependencyConstraints;
87

98
type NumVS = Range<u32>;
109

@@ -30,7 +29,7 @@ impl<DP: DependencyProvider<M = String>> DependencyProvider for CachingDependenc
3029
&self,
3130
package: &DP::P,
3231
version: &DP::V,
33-
) -> Result<Dependencies<DependencyConstraints<DP::P, DP::VS>, DP::M>, DP::Err> {
32+
) -> Result<Dependencies<DP::P, DP::VS, DP::M>, DP::Err> {
3433
let mut cache = self.cached_dependencies.borrow_mut();
3534
match cache.get_dependencies(package, version) {
3635
Ok(Dependencies::Unavailable(_)) => {

src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@
9696
//! &self,
9797
//! package: &String,
9898
//! version: &SemanticVersion,
99-
//! ) -> Result<Dependencies<DependencyConstraints<String, SemVS>, Self::M>, Infallible> {
99+
//! ) -> Result<DependencyConstraints<String, SemVS, Self::M>, Infallible> {
100100
//! Ok(Dependencies::Available(DependencyConstraints::default()))
101101
//! }
102102
//!

src/solver.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -189,11 +189,11 @@ pub fn resolve<DP: DependencyProvider>(
189189
/// An enum used by [DependencyProvider] that holds information about package dependencies.
190190
/// For each [Package] there is a set of versions allowed as a dependency.
191191
#[derive(Clone)]
192-
pub enum Dependencies<T, M: Eq + Clone + Debug + Display> {
192+
pub enum Dependencies<P: Package, VS: VersionSet, M: Eq + Clone + Debug + Display> {
193193
/// Package dependencies are unavailable with the reason why they are missing.
194194
Unavailable(M),
195195
/// Container for all available package versions.
196-
Available(T),
196+
Available(DependencyConstraints<P, VS>),
197197
}
198198

199199
/// Trait that allows the algorithm to retrieve available packages and their dependencies.
@@ -280,7 +280,7 @@ pub trait DependencyProvider {
280280
&self,
281281
package: &Self::P,
282282
version: &Self::V,
283-
) -> Result<Dependencies<DependencyConstraints<Self::P, Self::VS>, Self::M>, Self::Err>;
283+
) -> Result<Dependencies<Self::P, Self::VS, Self::M>, Self::Err>;
284284

285285
/// This is called fairly regularly during the resolution,
286286
/// if it returns an Err then resolution will be terminated.
@@ -393,7 +393,7 @@ impl<P: Package, VS: VersionSet> DependencyProvider for OfflineDependencyProvide
393393
&self,
394394
package: &P,
395395
version: &VS::V,
396-
) -> Result<Dependencies<DependencyConstraints<Self::P, Self::VS>, Self::M>, Self::Err> {
396+
) -> Result<Dependencies<Self::P, Self::VS, Self::M>, Self::Err> {
397397
Ok(match self.dependencies(package, version) {
398398
None => {
399399
Dependencies::Unavailable("its dependencies could not be determined".to_string())

tests/proptest.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use pubgrub::package::Package;
1111
use pubgrub::range::Range;
1212
use pubgrub::report::{DefaultStringReporter, DerivationTree, External, Reporter};
1313
use pubgrub::solver::{resolve, Dependencies, DependencyProvider, OfflineDependencyProvider};
14-
use pubgrub::type_aliases::{DependencyConstraints, SelectedDependencies};
14+
use pubgrub::type_aliases::SelectedDependencies;
1515
#[cfg(feature = "serde")]
1616
use pubgrub::version::SemanticVersion;
1717
use pubgrub::version_set::VersionSet;
@@ -37,7 +37,7 @@ impl<P: Package, VS: VersionSet> DependencyProvider for OldestVersionsDependency
3737
&self,
3838
p: &P,
3939
v: &VS::V,
40-
) -> Result<Dependencies<DependencyConstraints<Self::P, Self::VS>, Self::M>, Infallible> {
40+
) -> Result<Dependencies<Self::P, Self::VS, Self::M>, Self::Err> {
4141
self.0.get_dependencies(p, v)
4242
}
4343

@@ -90,7 +90,7 @@ impl<DP: DependencyProvider> DependencyProvider for TimeoutDependencyProvider<DP
9090
&self,
9191
p: &DP::P,
9292
v: &DP::V,
93-
) -> Result<Dependencies<DependencyConstraints<DP::P, DP::VS>, DP::M>, DP::Err> {
93+
) -> Result<Dependencies<Self::P, Self::VS, Self::M>, Self::Err> {
9494
self.dp.get_dependencies(p, v)
9595
}
9696

0 commit comments

Comments
 (0)