Remove erroneous local Index in resolver (#907)

This commit is contained in:
Charlie Marsh
2024-01-13 15:19:00 -05:00
committed by GitHub
parent 231686e71b
commit f527f2add9
+11 -9
View File
@@ -235,7 +235,6 @@ impl<'a, Provider: ResolverProvider> Resolver<'a, Provider> {
let root = PubGrubPackage::Root(self.project.clone());
// Keep track of the packages for which we've requested metadata.
let index = Index::default();
let mut pins = FilePins::default();
let mut priorities = PubGrubPriorities::default();
@@ -315,7 +314,7 @@ impl<'a, Provider: ResolverProvider> Resolver<'a, Provider> {
// Retrieve that package dependencies.
let package = &next;
let dependencies = match self
.get_dependencies(package, &version, &mut priorities, &index, request_sink)
.get_dependencies(package, &version, &mut priorities, request_sink)
.await?
{
Dependencies::Unusable(reason) => {
@@ -360,9 +359,9 @@ impl<'a, Provider: ResolverProvider> Resolver<'a, Provider> {
/// Visit a [`PubGrubPackage`] prior to selection. This should be called on a [`PubGrubPackage`]
/// before it is selected, to allow metadata to be fetched in parallel.
fn visit_package(
&self,
package: &PubGrubPackage,
priorities: &mut PubGrubPriorities,
index: &Index,
request_sink: &futures::channel::mpsc::UnboundedSender<Request>,
) -> Result<(), ResolveError> {
match package {
@@ -370,15 +369,19 @@ impl<'a, Provider: ResolverProvider> Resolver<'a, Provider> {
PubGrubPackage::Python(_) => {}
PubGrubPackage::Package(package_name, _extra, None) => {
// Emit a request to fetch the metadata for this package.
if index.packages.register(package_name) {
if self.index.packages.register(package_name) {
priorities.add(package_name.clone());
request_sink.unbounded_send(Request::Package(package_name.clone()))?;
}
}
PubGrubPackage::Package(package_name, _extra, Some(url)) => {
// Emit a request to fetch the metadata for this distribution.
if index.redirects.register(url) {
let distribution = Dist::from_url(package_name.clone(), url.clone())?;
let distribution = Dist::from_url(package_name.clone(), url.clone())?;
if self
.index
.distributions
.register_owned(distribution.package_id())
{
priorities.add(distribution.name().clone());
request_sink.unbounded_send(Request::Dist(distribution))?;
}
@@ -553,7 +556,6 @@ impl<'a, Provider: ResolverProvider> Resolver<'a, Provider> {
package: &PubGrubPackage,
version: &PubGrubVersion,
priorities: &mut PubGrubPriorities,
index: &Index,
request_sink: &futures::channel::mpsc::UnboundedSender<Request>,
) -> Result<Dependencies, ResolveError> {
match package {
@@ -580,7 +582,7 @@ impl<'a, Provider: ResolverProvider> Resolver<'a, Provider> {
debug!("Adding direct dependency: {package}{version}");
// Emit a request to fetch the metadata for this package.
Self::visit_package(package, priorities, index, request_sink)?;
self.visit_package(package, priorities, request_sink)?;
}
for (editable, metadata) in self.editables.values() {
@@ -643,7 +645,7 @@ impl<'a, Provider: ResolverProvider> Resolver<'a, Provider> {
debug!("Adding transitive dependency: {package}{version}");
// Emit a request to fetch the metadata for this package.
Self::visit_package(package, priorities, index, request_sink)?;
self.visit_package(package, priorities, request_sink)?;
}
// If a package has a `requires_python` field, add a constraint on the target