Skip to content

Commit 1024004

Browse files
committed
revert: remove process_foreign_world function
1 parent 2c8c2a8 commit 1024004

1 file changed

Lines changed: 44 additions & 60 deletions

File tree

  • crates/wit-parser/src/resolve

crates/wit-parser/src/resolve/mod.rs

Lines changed: 44 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -3808,19 +3808,50 @@ impl Remap {
38083808
parent_pkg_id: &PackageId,
38093809
) -> ResolveResult<()> {
38103810
for (unresolved_world_id, unresolved_world) in unresolved.worlds.iter() {
3811-
let pkg = match world_to_package.get(&unresolved_world_id) {
3812-
Some(items) => *items,
3813-
// Same as above, all worlds are foreign until we find a
3814-
// non-foreign one.
3815-
None => break,
3816-
};
3817-
self.process_foreign_world(
3818-
pkg,
3819-
unresolved_world_id,
3820-
unresolved_world,
3821-
resolve,
3822-
parent_pkg_id,
3823-
)?;
3811+
let (pkg_name, world, span, stabilities) =
3812+
match world_to_package.get(&unresolved_world_id) {
3813+
Some(items) => *items,
3814+
// Same as above, all worlds are foreign until we find a
3815+
// non-foreign one.
3816+
None => break,
3817+
};
3818+
3819+
let pkgid = resolve
3820+
.package_names
3821+
.get(pkg_name)
3822+
.copied()
3823+
.ok_or_else(|| {
3824+
ResolveError::from(ResolveErrorKind::PackageNotFound {
3825+
span,
3826+
requested: pkg_name.clone(),
3827+
known: resolve.package_names.keys().cloned().collect(),
3828+
})
3829+
})?;
3830+
let pkg = &resolve.packages[pkgid];
3831+
let world_span = unresolved_world.span;
3832+
3833+
let mut enabled = false;
3834+
for stability in stabilities {
3835+
if resolve.include_stability(stability, parent_pkg_id, world_span)? {
3836+
enabled = true;
3837+
break;
3838+
}
3839+
}
3840+
3841+
if !enabled {
3842+
self.worlds.push(None);
3843+
continue;
3844+
}
3845+
3846+
let world_id = pkg.worlds.get(world).copied().ok_or_else(|| {
3847+
ResolveError::from(ResolveErrorKind::WorldNotFound {
3848+
span: world_span,
3849+
requested: world.to_string(),
3850+
package: pkg.name.clone(),
3851+
})
3852+
})?;
3853+
assert_eq!(self.worlds.len(), unresolved_world_id.index());
3854+
self.worlds.push(Some(world_id));
38243855
}
38253856
for (id, _) in unresolved.worlds.iter().skip(self.worlds.len()) {
38263857
assert!(
@@ -3831,53 +3862,6 @@ impl Remap {
38313862
Ok(())
38323863
}
38333864

3834-
fn process_foreign_world(
3835-
&mut self,
3836-
(pkg_name, world, span, stabilities): (&PackageName, &String, Span, &Vec<Stability>),
3837-
unresolved_world_id: Id<World>,
3838-
unresolved_world: &World,
3839-
resolve: &mut Resolve,
3840-
parent_pkg_id: &PackageId,
3841-
) -> ResolveResult<()> {
3842-
let pkgid = resolve
3843-
.package_names
3844-
.get(pkg_name)
3845-
.copied()
3846-
.ok_or_else(|| {
3847-
ResolveError::from(ResolveErrorKind::PackageNotFound {
3848-
span,
3849-
requested: pkg_name.clone(),
3850-
known: resolve.package_names.keys().cloned().collect(),
3851-
})
3852-
})?;
3853-
let pkg = &resolve.packages[pkgid];
3854-
let world_span = unresolved_world.span;
3855-
3856-
let mut enabled = false;
3857-
for stability in stabilities {
3858-
if resolve.include_stability(stability, parent_pkg_id, world_span)? {
3859-
enabled = true;
3860-
break;
3861-
}
3862-
}
3863-
3864-
if !enabled {
3865-
self.worlds.push(None);
3866-
return Ok(());
3867-
}
3868-
3869-
let world_id = pkg.worlds.get(world).copied().ok_or_else(|| {
3870-
ResolveError::from(ResolveErrorKind::WorldNotFound {
3871-
span: world_span,
3872-
requested: world.to_string(),
3873-
package: pkg.name.clone(),
3874-
})
3875-
})?;
3876-
assert_eq!(self.worlds.len(), unresolved_world_id.index());
3877-
self.worlds.push(Some(world_id));
3878-
Ok(())
3879-
}
3880-
38813865
fn process_foreign_types(
38823866
&mut self,
38833867
unresolved: &UnresolvedPackage,

0 commit comments

Comments
 (0)