diff options
| author | bors <bors@rust-lang.org> | 2016-02-03 08:51:31 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2016-02-03 08:51:31 +0000 |
| commit | 8c77ffb484ada2c8f10bf2da5bbe6a9f82f935bb (patch) | |
| tree | b4d7a426d7d498c38bd1b35b8cfbff6e878717d2 /src/test | |
| parent | 54664f188403a5bb72634b5e3ba9b2f7b60b4d9f (diff) | |
| parent | 026bcbf91ef77ee85295af87ec578e24d2f24f72 (diff) | |
| download | rust-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.rs | 7 | ||||
| -rw-r--r-- | src/test/compile-fail/import2.rs | 6 | ||||
| -rw-r--r-- | src/test/compile-fail/privacy3.rs | 4 |
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 } |
