Skip to content

Commit aee4a01

Browse files
committed
rustc_resolve: shift bindings to accommodate new lifetime/dtor rules.
1 parent 2e6b699 commit aee4a01

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

src/librustc_resolve/lib.rs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1031,7 +1031,8 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
10311031
}
10321032
}
10331033

1034-
for (_, child_module) in module_.anonymous_children.borrow().iter() {
1034+
let children = module_.anonymous_children.borrow();
1035+
for (_, child_module) in children.iter() {
10351036
self.resolve_imports_for_module_subtree(child_module.clone());
10361037
}
10371038
}
@@ -2203,7 +2204,8 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
22032204

22042205
// Search for external modules.
22052206
if namespace == TypeNS {
2206-
if let Some(module) = module_.external_module_children.borrow().get(&name).cloned() {
2207+
let child = module_.external_module_children.borrow().get(&name).cloned();
2208+
if let Some(module) = child {
22072209
let name_bindings =
22082210
Rc::new(Resolver::create_name_bindings_from_module(module));
22092211
debug!("lower name bindings succeeded");
@@ -2485,7 +2487,8 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
24852487

24862488
// Finally, search through external children.
24872489
if namespace == TypeNS {
2488-
if let Some(module) = module_.external_module_children.borrow().get(&name).cloned() {
2490+
let child = module_.external_module_children.borrow().get(&name).cloned();
2491+
if let Some(module) = child {
24892492
let name_bindings =
24902493
Rc::new(Resolver::create_name_bindings_from_module(module));
24912494
return Success((Target::new(module_,
@@ -2534,7 +2537,8 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
25342537
}
25352538
}
25362539

2537-
for (_, module_) in module_.anonymous_children.borrow().iter() {
2540+
let children = module_.anonymous_children.borrow();
2541+
for (_, module_) in children.iter() {
25382542
self.report_unresolved_imports(module_.clone());
25392543
}
25402544
}

src/librustc_resolve/record_exports.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,8 @@ impl<'a, 'b, 'tcx> ExportRecorder<'a, 'b, 'tcx> {
9191
}
9292
}
9393

94-
for (_, child_module) in module_.anonymous_children.borrow().iter() {
94+
let children = module_.anonymous_children.borrow();
95+
for (_, child_module) in children.iter() {
9596
self.record_exports_for_module_subtree(child_module.clone());
9697
}
9798
}

0 commit comments

Comments
 (0)