| mod foo { | |
| extern crate core; | |
| } | |
| // Check that private crates can be used from outside their modules, albeit with warnings | |
| use foo::core::cell; //~ ERROR crate import `core` is private | |
| fn f() { | |
| foo::core::cell::Cell::new(0); //~ ERROR crate import `core` is private | |
| use foo::*; | |
| mod core {} // Check that private crates are not glob imported | |
| } | |
| mod bar { | |
| pub extern crate core; | |
| } | |
| mod baz { | |
| pub use bar::*; | |
| use self::core::cell; // Check that public extern crates are glob imported | |
| } | |
| fn main() {} |