diff options
Diffstat (limited to 'src/test/ui/uniform-paths/basic-nested.rs')
| -rw-r--r-- | src/test/ui/uniform-paths/basic-nested.rs | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/src/test/ui/uniform-paths/basic-nested.rs b/src/test/ui/uniform-paths/basic-nested.rs deleted file mode 100644 index dcf0eb646f3..00000000000 --- a/src/test/ui/uniform-paths/basic-nested.rs +++ /dev/null @@ -1,61 +0,0 @@ -// This test is similar to `basic.rs`, but nested in modules. - -// run-pass -// edition:2018 - -#![feature(decl_macro)] - -#![allow(unused_imports)] -#![allow(non_camel_case_types)] - -mod foo { - // Test that ambiguity errors are not emitted between `self::test` and - // `::test`, assuming the latter (crate) is not in `extern_prelude`. - mod test { - pub struct Foo(pub ()); - } - pub use test::Foo; - - // Test that qualified paths can refer to both the external crate and local item. - mod std { - pub struct io(pub ()); - } - pub use ::std::io as std_io; - pub use self::std::io as local_io; -} - -// Test that we can refer to the external crate unqualified -// (when there isn't a local item with the same name). -use std::io; - -mod bar { - // Also test the unqualified external crate import in a nested module, - // to show that the above import doesn't resolve through a local `std` - // item, e.g., the automatically injected `extern crate std;`, which in - // the Rust 2018 should no longer be visible through `crate::std`. - pub use std::io; - - // Also test that items named `std` in other namespaces don't - // cause ambiguity errors for the import from `std` above. - pub fn std() {} - pub macro std() {} -} - - -fn main() { - foo::Foo(()); - let _ = foo::std_io::stdout(); - foo::local_io(()); - let _ = io::stdout(); - let _ = bar::io::stdout(); - bar::std(); - bar::std!(); - - { - // Test that having `io` in a module scope and a non-module - // scope is allowed, when both resolve to the same definition. - use std::io; - use io::stdout; - let _ = stdout(); - } -} |
