Skip to content

Commit 3119afc

Browse files
committed
In resolve3, error on non-existent imports
Closes #2937
1 parent de5d5e6 commit 3119afc

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

src/rustc/middle/resolve3.rs

+10
Original file line numberDiff line numberDiff line change
@@ -1904,6 +1904,16 @@ class Resolver {
19041904
}
19051905
}
19061906

1907+
let i = import_resolution;
1908+
alt (i.module_target, i.value_target, i.type_target, i.impl_target) {
1909+
/*
1910+
If this name wasn't found in any of the four namespaces, it's
1911+
definitely unresolved
1912+
*/
1913+
(none, none, none, v) if v.len() == 0 { ret Failed; }
1914+
_ {}
1915+
}
1916+
19071917
assert import_resolution.outstanding_references >= 1u;
19081918
import_resolution.outstanding_references -= 1u;
19091919

src/test/compile-fail/issue-2937.rs

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// error-pattern:failed to resolve imports
2+
// n.b. Can't use a //~ ERROR because there's a non-spanned error
3+
// message.
4+
import x = m::f;
5+
6+
mod m {
7+
}
8+
9+
fn main() {
10+
}

0 commit comments

Comments
 (0)