summaryrefslogtreecommitdiffstats
path: root/tests/ui/rust-2018/extern-crate-submod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/rust-2018/extern-crate-submod.rs')
-rw-r--r--tests/ui/rust-2018/extern-crate-submod.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/ui/rust-2018/extern-crate-submod.rs b/tests/ui/rust-2018/extern-crate-submod.rs
new file mode 100644
index 000000000..dfce9128c
--- /dev/null
+++ b/tests/ui/rust-2018/extern-crate-submod.rs
@@ -0,0 +1,25 @@
+// aux-build:edition-lint-paths.rs
+// run-rustfix
+
+// Oddball: extern crate appears in a submodule, making it harder for
+// us to rewrite paths. We don't (and we leave the `extern crate` in
+// place).
+
+#![feature(rust_2018_preview)]
+#![deny(absolute_paths_not_starting_with_crate)]
+
+mod m {
+ // Because this extern crate does not appear at the root, we
+ // ignore it altogether.
+ pub extern crate edition_lint_paths;
+}
+
+// And we don't being smart about paths like this, even though you
+// *could* rewrite it to `use edition_lint_paths::foo`
+use m::edition_lint_paths::foo;
+//~^ ERROR absolute paths must start
+//~| WARNING this is accepted in the current edition
+
+fn main() {
+ foo();
+}