summaryrefslogtreecommitdiffstats
path: root/src/test/ui/hygiene/missing-self-diag.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/hygiene/missing-self-diag.rs')
-rw-r--r--src/test/ui/hygiene/missing-self-diag.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/test/ui/hygiene/missing-self-diag.rs b/src/test/ui/hygiene/missing-self-diag.rs
new file mode 100644
index 000000000..f934f793c
--- /dev/null
+++ b/src/test/ui/hygiene/missing-self-diag.rs
@@ -0,0 +1,23 @@
+// Regression test for issue #66898
+// Tests that we don't emit a nonsensical error message
+// when a macro invocation tries to access `self` from a function
+// that has a 'self' parameter
+
+pub struct Foo;
+
+macro_rules! call_bar {
+ () => {
+ self.bar(); //~ ERROR expected value
+ }
+}
+
+impl Foo {
+ pub fn foo(&self) {
+ call_bar!();
+ }
+
+ pub fn bar(&self) {
+ }
+}
+
+fn main() {}