about summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2024-03-04 07:57:56 +0100
committerGitHub <noreply@github.com>2024-03-04 07:57:56 +0100
commitc620ae5be907e6ce657e62cba814c58dc38399ae (patch)
tree781884275b4981ce0a66d9d442e695a907592045 /tests
parent8b1af4c6610901b23be8d3311ed493cda0665983 (diff)
parent08fa734e324d48fb2e3f9e639240a38fafad2701 (diff)
downloadrust-c620ae5be907e6ce657e62cba814c58dc38399ae.tar.gz
rust-c620ae5be907e6ce657e62cba814c58dc38399ae.zip
Rollup merge of #121130 - chenyukang:yukang-fix-121061-macro-later, r=matthiaskrgr
Suggest moving definition if non-found macro_rules! is defined later

Fixes #121061
Diffstat (limited to 'tests')
-rw-r--r--tests/ui/macros/defined-later-issue-121061-2.rs13
-rw-r--r--tests/ui/macros/defined-later-issue-121061-2.stderr14
-rw-r--r--tests/ui/macros/defined-later-issue-121061.rs9
-rw-r--r--tests/ui/macros/defined-later-issue-121061.stderr14
4 files changed, 50 insertions, 0 deletions
diff --git a/tests/ui/macros/defined-later-issue-121061-2.rs b/tests/ui/macros/defined-later-issue-121061-2.rs
new file mode 100644
index 00000000000..3db76c281ec
--- /dev/null
+++ b/tests/ui/macros/defined-later-issue-121061-2.rs
@@ -0,0 +1,13 @@
+mod demo {
+    fn hello() {
+        something_later!(); //~ ERROR cannot find macro `something_later` in this scope
+    }
+
+    macro_rules! something_later {
+        () => {
+            println!("successfully expanded!");
+        };
+    }
+}
+
+fn main() {}
diff --git a/tests/ui/macros/defined-later-issue-121061-2.stderr b/tests/ui/macros/defined-later-issue-121061-2.stderr
new file mode 100644
index 00000000000..aa6ef338531
--- /dev/null
+++ b/tests/ui/macros/defined-later-issue-121061-2.stderr
@@ -0,0 +1,14 @@
+error: cannot find macro `something_later` in this scope
+  --> $DIR/defined-later-issue-121061-2.rs:3:9
+   |
+LL |         something_later!();
+   |         ^^^^^^^^^^^^^^^ consider moving the definition of `something_later` before this call
+   |
+note: a macro with the same name exists, but it appears later at here
+  --> $DIR/defined-later-issue-121061-2.rs:6:18
+   |
+LL |     macro_rules! something_later {
+   |                  ^^^^^^^^^^^^^^^
+
+error: aborting due to 1 previous error
+
diff --git a/tests/ui/macros/defined-later-issue-121061.rs b/tests/ui/macros/defined-later-issue-121061.rs
new file mode 100644
index 00000000000..07c6d406f03
--- /dev/null
+++ b/tests/ui/macros/defined-later-issue-121061.rs
@@ -0,0 +1,9 @@
+fn main() {
+    something_later!(); //~ ERROR cannot find macro `something_later` in this scope
+}
+
+macro_rules! something_later {
+    () => {
+        println!("successfully expanded!");
+    };
+}
diff --git a/tests/ui/macros/defined-later-issue-121061.stderr b/tests/ui/macros/defined-later-issue-121061.stderr
new file mode 100644
index 00000000000..65cb53432a9
--- /dev/null
+++ b/tests/ui/macros/defined-later-issue-121061.stderr
@@ -0,0 +1,14 @@
+error: cannot find macro `something_later` in this scope
+  --> $DIR/defined-later-issue-121061.rs:2:5
+   |
+LL |     something_later!();
+   |     ^^^^^^^^^^^^^^^ consider moving the definition of `something_later` before this call
+   |
+note: a macro with the same name exists, but it appears later at here
+  --> $DIR/defined-later-issue-121061.rs:5:14
+   |
+LL | macro_rules! something_later {
+   |              ^^^^^^^^^^^^^^^
+
+error: aborting due to 1 previous error
+