about summary refs log tree commit diff
path: root/tests/ui/resolve
diff options
context:
space:
mode:
authorxizheyin <xizheyin@smail.nju.edu.cn>2025-06-29 15:38:09 +0800
committerxizheyin <xizheyin@smail.nju.edu.cn>2025-07-03 23:11:57 +0800
commit000f038e9999ebdbaf3167c42dadc3db872a5d3f (patch)
treea331ed7a028ba49fc35ff63e2e4d3d8fff39c464 /tests/ui/resolve
parent25ab022f2951318e8ffdec2d8566c3a7d164e00d (diff)
downloadrust-000f038e9999ebdbaf3167c42dadc3db872a5d3f.tar.gz
rust-000f038e9999ebdbaf3167c42dadc3db872a5d3f.zip
Add ui test resolve/false-self-in-macro-issue-143134.rs
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
Diffstat (limited to 'tests/ui/resolve')
-rw-r--r--tests/ui/resolve/false-self-in-macro-issue-143134.rs10
-rw-r--r--tests/ui/resolve/false-self-in-macro-issue-143134.stderr12
2 files changed, 22 insertions, 0 deletions
diff --git a/tests/ui/resolve/false-self-in-macro-issue-143134.rs b/tests/ui/resolve/false-self-in-macro-issue-143134.rs
new file mode 100644
index 00000000000..0983b8b3dc3
--- /dev/null
+++ b/tests/ui/resolve/false-self-in-macro-issue-143134.rs
@@ -0,0 +1,10 @@
+trait T {
+    fn f(self);
+  }
+  impl T for () {
+    fn f(self) {
+        let self = (); //~ ERROR expected unit struct, unit variant or constant, found local variable `self`
+    }
+}
+
+fn main() {}
diff --git a/tests/ui/resolve/false-self-in-macro-issue-143134.stderr b/tests/ui/resolve/false-self-in-macro-issue-143134.stderr
new file mode 100644
index 00000000000..43e77e183ae
--- /dev/null
+++ b/tests/ui/resolve/false-self-in-macro-issue-143134.stderr
@@ -0,0 +1,12 @@
+error[E0424]: expected unit struct, unit variant or constant, found local variable `self`
+  --> $DIR/false-self-in-macro-issue-143134.rs:6:13
+   |
+LL | /     fn f(self) {
+LL | |         let self = ();
+   | |             ^^^^ `self` value is a keyword and may not be bound to variables or shadowed
+LL | |     }
+   | |_____- this function has a `self` parameter, but a macro invocation can only access identifiers it receives from parameters
+
+error: aborting due to 1 previous error
+
+For more information about this error, try `rustc --explain E0424`.