errors.extend(self.resolve_imports_for_module(module_));
self.resolver.current_module = orig_module;
- build_reduced_graph::populate_module_if_necessary(self.resolver, module_);
- module_.for_each_local_child(|_, _, child_node| {
- match child_node.module() {
- None => {
- // Nothing to do.
- }
- Some(child_module) => {
- errors.extend(self.resolve_imports_for_module_subtree(child_module));
- }
- }
- });
-
- for (_, child_module) in module_.anonymous_children.borrow().iter() {
+ for (_, child_module) in module_.module_children.borrow().iter() {
errors.extend(self.resolve_imports_for_module_subtree(child_module));
}
module_.increment_outstanding_references_for(target, TypeNS);
}
+ match (&value_result, &type_result) {
+ (&Indeterminate, _) | (_, &Indeterminate) => return Indeterminate,
+ (&Failed(_), &Failed(_)) => {
+ let children = target_module.resolutions.borrow();
+ let names = children.keys().map(|&(ref name, _)| name);
+ let lev_suggestion = match find_best_match_for_name(names, &source.as_str(), None) {
+ Some(name) => format!(". Did you mean to use `{}`?", name),
+ None => "".to_owned(),
+ };
+ let msg = format!("There is no `{}` in `{}`{}",
+ source,
+ module_to_string(target_module), lev_suggestion);
+ return Failed(Some((directive.span, msg)));
+ }
+ _ => (),
+ }
+
match (&value_result, &type_result) {
(&Success(name_binding), _) if !name_binding.is_import() &&
directive.is_public &&
_ => {}
}
- match (&value_result, &type_result) {
- (&Indeterminate, _) | (_, &Indeterminate) => return Indeterminate,
- (&Failed(_), &Failed(_)) => {
- let children = target_module.children.borrow();
- let names = children.keys().map(|&(ref name, _)| name);
- let lev_suggestion = match find_best_match_for_name(names, &source.as_str(), None) {
- Some(name) => format!(". Did you mean to use `{}`?", name),
- None => "".to_owned(),
- };
- let msg = format!("There is no `{}` in `{}`{}",
- source,
- module_to_string(target_module), lev_suggestion);
- return Failed(Some((directive.span, msg)));
- }
- _ => (),
- }
-
for &(ns, result) in &[(ValueNS, &value_result), (TypeNS, &type_result)] {
if let Success(binding) = *result {
if !binding.defined_with(DefModifiers::IMPORTABLE) {