about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2016-02-03 08:51:31 +0000
committerbors <bors@rust-lang.org>2016-02-03 08:51:31 +0000
commit8c77ffb484ada2c8f10bf2da5bbe6a9f82f935bb (patch)
treeb4d7a426d7d498c38bd1b35b8cfbff6e878717d2 /src/test
parent54664f188403a5bb72634b5e3ba9b2f7b60b4d9f (diff)
parent026bcbf91ef77ee85295af87ec578e24d2f24f72 (diff)
downloadrust-8c77ffb484ada2c8f10bf2da5bbe6a9f82f935bb.tar.gz
rust-8c77ffb484ada2c8f10bf2da5bbe6a9f82f935bb.zip
Auto merge of #31338 - dirk:dirk/add-name-bindings-for-bad-imports, r=nrc
WIP implementation of #31209.

The goal is to insert fake/dummy definitions for names that we failed to import so that later resolver stages won't complain about them.
Diffstat (limited to 'src/test')
-rw-r--r--src/test/compile-fail/import-from-missing.rs7
-rw-r--r--src/test/compile-fail/import2.rs6
-rw-r--r--src/test/compile-fail/privacy3.rs4
3 files changed, 11 insertions, 6 deletions
diff --git a/src/test/compile-fail/import-from-missing.rs b/src/test/compile-fail/import-from-missing.rs
index 489bcfbdefd..bcd2cd816ed 100644
--- a/src/test/compile-fail/import-from-missing.rs
+++ b/src/test/compile-fail/import-from-missing.rs
@@ -15,5 +15,8 @@ mod spam {
     pub fn ham() { }
 }
 
-fn main() { ham(); eggs(); }
-//~^ ERROR unresolved name `eggs`
+fn main() {
+    ham();
+    // Expect eggs to pass because the compiler inserts a fake name for it
+    eggs();
+}
diff --git a/src/test/compile-fail/import2.rs b/src/test/compile-fail/import2.rs
index 1d2aecd4e3b..1f25bce2093 100644
--- a/src/test/compile-fail/import2.rs
+++ b/src/test/compile-fail/import2.rs
@@ -11,10 +11,10 @@
 use baz::zed::bar;
 //~^ ERROR unresolved import `baz::zed::bar`. Could not find `zed` in `baz`
 
-
 mod baz {}
 mod zed {
     pub fn bar() { println!("bar3"); }
 }
-fn main() { bar(); }
-//~^ ERROR unresolved name `bar`
+fn main() {
+    bar();
+}
diff --git a/src/test/compile-fail/privacy3.rs b/src/test/compile-fail/privacy3.rs
index 6a203993ccf..89f38fa1434 100644
--- a/src/test/compile-fail/privacy3.rs
+++ b/src/test/compile-fail/privacy3.rs
@@ -27,8 +27,10 @@ pub fn foo() {}
 fn test1() {
     use bar::gpriv;
     //~^ ERROR unresolved import `bar::gpriv`. There is no `gpriv` in `bar`
+
+    // This should pass because the compiler will insert a fake name binding
+    // for `gpriv`
     gpriv();
-    //~^ ERROR unresolved name `gpriv`
 }
 
 #[start] fn main(_: isize, _: *const *const u8) -> isize { 3 }