diff options
| author | Kiet Tran <ktt3ja@gmail.com> | 2014-07-20 22:11:43 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2014-07-21 09:54:59 -0700 |
| commit | 6807349e8fe37eb19dd6d9c41fb24430fdf0e54b (patch) | |
| tree | a4eccd1705a4a83b9f0b932f094e7b815a7a249b | |
| parent | 2daa097077dc988bb7fc818754950b21cd42727c (diff) | |
| download | rust-6807349e8fe37eb19dd6d9c41fb24430fdf0e54b.tar.gz rust-6807349e8fe37eb19dd6d9c41fb24430fdf0e54b.zip | |
privacy: Add publically-reexported foreign item to exported item set
Close #15740
| -rw-r--r-- | src/librustc/middle/privacy.rs | 2 | ||||
| -rw-r--r-- | src/test/compile-fail/lint-dead-code-3.rs | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/librustc/middle/privacy.rs b/src/librustc/middle/privacy.rs index 910f4ad212a..62b5299f8fb 100644 --- a/src/librustc/middle/privacy.rs +++ b/src/librustc/middle/privacy.rs @@ -325,7 +325,7 @@ impl<'a> Visitor<()> for EmbargoVisitor<'a> { } fn visit_foreign_item(&mut self, a: &ast::ForeignItem, _: ()) { - if self.prev_exported && a.vis == ast::Public { + if (self.prev_exported && a.vis == ast::Public) || self.reexports.contains(&a.id) { self.exported_items.insert(a.id); } } diff --git a/src/test/compile-fail/lint-dead-code-3.rs b/src/test/compile-fail/lint-dead-code-3.rs index 4687d66ca53..e34bfb10a71 100644 --- a/src/test/compile-fail/lint-dead-code-3.rs +++ b/src/test/compile-fail/lint-dead-code-3.rs @@ -16,6 +16,11 @@ extern crate libc; +pub use x = extern_foo; +extern { + fn extern_foo(); +} + struct Foo; //~ ERROR: code is never used impl Foo { fn foo(&self) { //~ ERROR: code is never used |
