about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2018-12-30 00:56:55 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2018-12-30 01:43:35 +0300
commitdf4690ddf4b6eb699bc5c283934c26f6c9a05df6 (patch)
tree9afd305cf26f7c577de7d0cf714d0dc11532bd43 /src/test
parent007115746c6d0234742719dd67efba054abe97ce (diff)
downloadrust-df4690ddf4b6eb699bc5c283934c26f6c9a05df6.tar.gz
rust-df4690ddf4b6eb699bc5c283934c26f6c9a05df6.zip
Improve error recovery for some built-in macros
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/extenv/issue-55897.rs15
-rw-r--r--src/test/ui/extenv/issue-55897.stderr23
-rw-r--r--src/test/ui/issues/issue-11692-1.rs4
-rw-r--r--src/test/ui/issues/issue-11692-1.stderr14
-rw-r--r--src/test/ui/issues/issue-11692-2.rs1
-rw-r--r--src/test/ui/issues/issue-11692-2.stderr10
6 files changed, 42 insertions, 25 deletions
diff --git a/src/test/ui/extenv/issue-55897.rs b/src/test/ui/extenv/issue-55897.rs
new file mode 100644
index 00000000000..bd151c8a4e4
--- /dev/null
+++ b/src/test/ui/extenv/issue-55897.rs
@@ -0,0 +1,15 @@
+use prelude::*; //~ ERROR unresolved import `prelude`
+
+mod unresolved_env {
+    use env;
+
+    include!(concat!(env!("NON_EXISTENT"), "/data.rs"));
+    //~^ ERROR cannot determine resolution for the macro `env`
+}
+
+mod nonexistent_env {
+    include!(concat!(env!("NON_EXISTENT"), "/data.rs"));
+    //~^ ERROR environment variable `NON_EXISTENT` not defined
+}
+
+fn main() {}
diff --git a/src/test/ui/extenv/issue-55897.stderr b/src/test/ui/extenv/issue-55897.stderr
new file mode 100644
index 00000000000..4d2e35dff46
--- /dev/null
+++ b/src/test/ui/extenv/issue-55897.stderr
@@ -0,0 +1,23 @@
+error: environment variable `NON_EXISTENT` not defined
+  --> $DIR/issue-55897.rs:11:22
+   |
+LL |     include!(concat!(env!("NON_EXISTENT"), "/data.rs"));
+   |                      ^^^^^^^^^^^^^^^^^^^^
+
+error[E0432]: unresolved import `prelude`
+  --> $DIR/issue-55897.rs:1:5
+   |
+LL | use prelude::*; //~ ERROR unresolved import `prelude`
+   |     ^^^^^^^ did you mean `std::prelude`?
+
+error: cannot determine resolution for the macro `env`
+  --> $DIR/issue-55897.rs:6:22
+   |
+LL |     include!(concat!(env!("NON_EXISTENT"), "/data.rs"));
+   |                      ^^^
+   |
+   = note: import resolution is stuck, try simplifying macro imports
+
+error: aborting due to 3 previous errors
+
+For more information about this error, try `rustc --explain E0432`.
diff --git a/src/test/ui/issues/issue-11692-1.rs b/src/test/ui/issues/issue-11692-1.rs
index 22777780402..70b712c5608 100644
--- a/src/test/ui/issues/issue-11692-1.rs
+++ b/src/test/ui/issues/issue-11692-1.rs
@@ -1,5 +1,3 @@
 fn main() {
-    print!(testo!());
-    //~^ ERROR: format argument must be a string literal
-    //~| ERROR: cannot find macro `testo!` in this scope
+    print!(testo!()); //~ ERROR cannot find macro `testo!` in this scope
 }
diff --git a/src/test/ui/issues/issue-11692-1.stderr b/src/test/ui/issues/issue-11692-1.stderr
index f4cc825803a..57a6a999544 100644
--- a/src/test/ui/issues/issue-11692-1.stderr
+++ b/src/test/ui/issues/issue-11692-1.stderr
@@ -1,18 +1,8 @@
-error: format argument must be a string literal
-  --> $DIR/issue-11692-1.rs:2:12
-   |
-LL |     print!(testo!());
-   |            ^^^^^^^^
-help: you might be missing a string literal to format with
-   |
-LL |     print!("{}", testo!());
-   |            ^^^^^
-
 error: cannot find macro `testo!` in this scope
   --> $DIR/issue-11692-1.rs:2:12
    |
-LL |     print!(testo!());
+LL |     print!(testo!()); //~ ERROR cannot find macro `testo!` in this scope
    |            ^^^^^
 
-error: aborting due to 2 previous errors
+error: aborting due to previous error
 
diff --git a/src/test/ui/issues/issue-11692-2.rs b/src/test/ui/issues/issue-11692-2.rs
index 61039316573..61be284d732 100644
--- a/src/test/ui/issues/issue-11692-2.rs
+++ b/src/test/ui/issues/issue-11692-2.rs
@@ -1,4 +1,3 @@
 fn main() {
     concat!(test!()); //~ ERROR cannot find macro `test!` in this scope
-                      //~| ERROR expected a literal
 }
diff --git a/src/test/ui/issues/issue-11692-2.stderr b/src/test/ui/issues/issue-11692-2.stderr
index 848415435a7..5d4467080f1 100644
--- a/src/test/ui/issues/issue-11692-2.stderr
+++ b/src/test/ui/issues/issue-11692-2.stderr
@@ -1,16 +1,8 @@
-error: expected a literal
-  --> $DIR/issue-11692-2.rs:2:13
-   |
-LL |     concat!(test!()); //~ ERROR cannot find macro `test!` in this scope
-   |             ^^^^^^^
-   |
-   = note: only literals (like `"foo"`, `42` and `3.14`) can be passed to `concat!()`
-
 error: cannot find macro `test!` in this scope
   --> $DIR/issue-11692-2.rs:2:13
    |
 LL |     concat!(test!()); //~ ERROR cannot find macro `test!` in this scope
    |             ^^^^
 
-error: aborting due to 2 previous errors
+error: aborting due to previous error