| //@ build-pass (FIXME(62277): could be check-pass?) |
| //@ compile-flags:--extern extern_prelude --extern Vec |
| //@ aux-build:extern-prelude.rs |
| //@ aux-build:extern-prelude-vec.rs |
| |
| fn basic() { |
| // It works |
| let s = extern_prelude::S; |
| s.external(); |
| } |
| |
| fn shadow_mod() { |
| // Local module shadows `extern_prelude` from extern prelude |
| mod extern_prelude { |
| pub struct S; |
| |
| impl S { |
| pub fn internal(&self) {} |
| } |
| } |
| |
| let s = extern_prelude::S; |
| s.internal(); // OK |
| } |
| |
| fn shadow_prelude() { |
| // Extern prelude shadows standard library prelude |
| let x: () = Vec::new(0f32, ()); // OK |
| } |
| |
| fn main() {} |