about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorDylan DPC <dylan.dpc@gmail.com>2021-03-08 13:13:19 +0100
committerGitHub <noreply@github.com>2021-03-08 13:13:19 +0100
commit4a4e3e667d22442cbfdd04c9fe0adcf70e497751 (patch)
treed55b0e1055ec687d87590422db31c095803ab446 /src
parentda74a77622b29c056fa5a18f6e6033d9579a0e90 (diff)
parent1fe2eb83ecfed43874b4cdf39d0be8910995dd1d (diff)
downloadrust-4a4e3e667d22442cbfdd04c9fe0adcf70e497751.tar.gz
rust-4a4e3e667d22442cbfdd04c9fe0adcf70e497751.zip
Rollup merge of #82415 - petrochenkov:modin3, r=davidtwco
expand: Refactor module loading

This is an accompanying PR to https://github.com/rust-lang/rust/pull/82399, but they can be landed independently.
See individual commits for more details.

Anyone should be able to review this equally well because all people actually familiar with this code left the project.
Diffstat (limited to 'src')
-rw-r--r--src/test/ui/directory_ownership/macro-expanded-mod.rs2
-rw-r--r--src/test/ui/directory_ownership/macro-expanded-mod.stderr2
-rw-r--r--src/test/ui/directory_ownership/non-inline-mod-restriction.rs2
-rw-r--r--src/test/ui/directory_ownership/non-inline-mod-restriction.stderr2
-rw-r--r--src/test/ui/modules/path-no-file-name.rs7
-rw-r--r--src/test/ui/modules/path-no-file-name.stderr8
-rw-r--r--src/test/ui/parser/circular_modules_main.rs6
-rw-r--r--src/test/ui/parser/circular_modules_main.stderr18
8 files changed, 32 insertions, 15 deletions
diff --git a/src/test/ui/directory_ownership/macro-expanded-mod.rs b/src/test/ui/directory_ownership/macro-expanded-mod.rs
index 9cb159603a8..fa81769e5a8 100644
--- a/src/test/ui/directory_ownership/macro-expanded-mod.rs
+++ b/src/test/ui/directory_ownership/macro-expanded-mod.rs
@@ -2,7 +2,7 @@
 
 macro_rules! mod_decl {
     ($i:ident) => {
-        mod $i; //~ ERROR Cannot declare a non-inline module inside a block
+        mod $i; //~ ERROR cannot declare a non-inline module inside a block
     };
 }
 
diff --git a/src/test/ui/directory_ownership/macro-expanded-mod.stderr b/src/test/ui/directory_ownership/macro-expanded-mod.stderr
index f90419247c9..4039728e18a 100644
--- a/src/test/ui/directory_ownership/macro-expanded-mod.stderr
+++ b/src/test/ui/directory_ownership/macro-expanded-mod.stderr
@@ -1,4 +1,4 @@
-error: Cannot declare a non-inline module inside a block unless it has a path attribute
+error: cannot declare a non-inline module inside a block unless it has a path attribute
   --> $DIR/macro-expanded-mod.rs:5:9
    |
 LL |         mod $i;
diff --git a/src/test/ui/directory_ownership/non-inline-mod-restriction.rs b/src/test/ui/directory_ownership/non-inline-mod-restriction.rs
index af31b8a4928..de4f816656c 100644
--- a/src/test/ui/directory_ownership/non-inline-mod-restriction.rs
+++ b/src/test/ui/directory_ownership/non-inline-mod-restriction.rs
@@ -1,5 +1,5 @@
 // Test that non-inline modules are not allowed inside blocks.
 
 fn main() {
-    mod foo; //~ ERROR Cannot declare a non-inline module inside a block
+    mod foo; //~ ERROR cannot declare a non-inline module inside a block
 }
diff --git a/src/test/ui/directory_ownership/non-inline-mod-restriction.stderr b/src/test/ui/directory_ownership/non-inline-mod-restriction.stderr
index d034942ca5d..64189bee43f 100644
--- a/src/test/ui/directory_ownership/non-inline-mod-restriction.stderr
+++ b/src/test/ui/directory_ownership/non-inline-mod-restriction.stderr
@@ -1,4 +1,4 @@
-error: Cannot declare a non-inline module inside a block unless it has a path attribute
+error: cannot declare a non-inline module inside a block unless it has a path attribute
   --> $DIR/non-inline-mod-restriction.rs:4:5
    |
 LL |     mod foo;
diff --git a/src/test/ui/modules/path-no-file-name.rs b/src/test/ui/modules/path-no-file-name.rs
new file mode 100644
index 00000000000..f62cd2a9eb4
--- /dev/null
+++ b/src/test/ui/modules/path-no-file-name.rs
@@ -0,0 +1,7 @@
+// normalize-stderr-test: "\.:.*\(" -> ".: $$ACCESS_DENIED_MSG ("
+// normalize-stderr-test: "os error \d+" -> "os error $$ACCESS_DENIED_CODE"
+
+#[path = "."]
+mod m; //~ ERROR couldn't read
+
+fn main() {}
diff --git a/src/test/ui/modules/path-no-file-name.stderr b/src/test/ui/modules/path-no-file-name.stderr
new file mode 100644
index 00000000000..32a213c68f6
--- /dev/null
+++ b/src/test/ui/modules/path-no-file-name.stderr
@@ -0,0 +1,8 @@
+error: couldn't read $DIR/.: $ACCESS_DENIED_MSG (os error $ACCESS_DENIED_CODE)
+  --> $DIR/path-no-file-name.rs:5:1
+   |
+LL | mod m;
+   | ^^^^^^
+
+error: aborting due to previous error
+
diff --git a/src/test/ui/parser/circular_modules_main.rs b/src/test/ui/parser/circular_modules_main.rs
index 1ae36a1f760..d4b47efe681 100644
--- a/src/test/ui/parser/circular_modules_main.rs
+++ b/src/test/ui/parser/circular_modules_main.rs
@@ -1,10 +1,12 @@
+// error-pattern: circular modules
+
 #[path = "circular_modules_hello.rs"]
-mod circular_modules_hello; //~ ERROR: circular modules
+mod circular_modules_hello;
 
 pub fn hi_str() -> String {
     "Hi!".to_string()
 }
 
 fn main() {
-    circular_modules_hello::say_hello(); //~ ERROR cannot find function `say_hello` in module
+    circular_modules_hello::say_hello();
 }
diff --git a/src/test/ui/parser/circular_modules_main.stderr b/src/test/ui/parser/circular_modules_main.stderr
index 5d4db8c31a2..ee45f65a3bd 100644
--- a/src/test/ui/parser/circular_modules_main.stderr
+++ b/src/test/ui/parser/circular_modules_main.stderr
@@ -1,18 +1,18 @@
-error: circular modules: $DIR/circular_modules_hello.rs -> $DIR/circular_modules_main.rs -> $DIR/circular_modules_hello.rs
-  --> $DIR/circular_modules_main.rs:2:1
+error: circular modules: $DIR/circular_modules_main.rs -> $DIR/circular_modules_hello.rs -> $DIR/circular_modules_main.rs
+  --> $DIR/circular_modules_hello.rs:4:1
    |
-LL | mod circular_modules_hello;
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | mod circular_modules_main;
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-error[E0425]: cannot find function `say_hello` in module `circular_modules_hello`
-  --> $DIR/circular_modules_main.rs:9:29
+error[E0425]: cannot find function `hi_str` in module `circular_modules_main`
+  --> $DIR/circular_modules_hello.rs:7:43
    |
-LL |     circular_modules_hello::say_hello();
-   |                             ^^^^^^^^^ not found in `circular_modules_hello`
+LL |     println!("{}", circular_modules_main::hi_str());
+   |                                           ^^^^^^ not found in `circular_modules_main`
    |
 help: consider importing this function
    |
-LL | use circular_modules_hello::say_hello;
+LL | use hi_str;
    |
 
 error: aborting due to 2 previous errors