about summary refs log tree commit diff
path: root/src/test/ui/uniform-paths/basic-nested.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/uniform-paths/basic-nested.rs')
-rw-r--r--src/test/ui/uniform-paths/basic-nested.rs61
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();
-    }
-}