about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2019-03-27 17:05:35 -0700
committerEsteban Küber <esteban@kuber.com.ar>2019-03-27 19:35:30 -0700
commit925ca49cf12ef9ce328eb7ad66e63c4c86b02460 (patch)
treefb19779c4f7db75b1b43e8dfa835bb1bcae0661f
parent0acb7867c21bca6e3ba53e88ef895c2ed2d833a2 (diff)
downloadrust-925ca49cf12ef9ce328eb7ad66e63c4c86b02460.tar.gz
rust-925ca49cf12ef9ce328eb7ad66e63c4c86b02460.zip
Add test
-rw-r--r--src/test/ui/suggestions/dont-suggest-deref-inside-macro-issue-58298.rs14
-rw-r--r--src/test/ui/suggestions/dont-suggest-deref-inside-macro-issue-58298.stderr21
2 files changed, 35 insertions, 0 deletions
diff --git a/src/test/ui/suggestions/dont-suggest-deref-inside-macro-issue-58298.rs b/src/test/ui/suggestions/dont-suggest-deref-inside-macro-issue-58298.rs
new file mode 100644
index 00000000000..bf2d105f63f
--- /dev/null
+++ b/src/test/ui/suggestions/dont-suggest-deref-inside-macro-issue-58298.rs
@@ -0,0 +1,14 @@
+fn warn(_: &str) {}
+
+macro_rules! intrinsic_match {
+    ($intrinsic:expr) => {
+        warn(format!("unsupported intrinsic {}", $intrinsic));
+        //^~ ERROR mismatched types
+    };
+}
+
+fn main() {
+    intrinsic_match! {
+        "abc"
+    };
+}
diff --git a/src/test/ui/suggestions/dont-suggest-deref-inside-macro-issue-58298.stderr b/src/test/ui/suggestions/dont-suggest-deref-inside-macro-issue-58298.stderr
new file mode 100644
index 00000000000..75a08904e69
--- /dev/null
+++ b/src/test/ui/suggestions/dont-suggest-deref-inside-macro-issue-58298.stderr
@@ -0,0 +1,21 @@
+error[E0308]: mismatched types
+  --> $DIR/dont-suggest-deref-inside-macro-issue-58298.rs:10:5
+   |
+LL |        intrinsic_match! {
+   |   _____^
+   |  |_____|
+   | ||
+LL | ||         "abc"
+LL | ||     };
+   | ||      ^
+   | ||______|
+   | |_______expected &str, found struct `std::string::String`
+   |         in this macro invocation
+   |
+   = note: expected type `&str`
+              found type `std::string::String`
+   = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0308`.