summaryrefslogtreecommitdiffstats
path: root/tests/ui/issues/issue-15167.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/issues/issue-15167.rs')
-rw-r--r--tests/ui/issues/issue-15167.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/ui/issues/issue-15167.rs b/tests/ui/issues/issue-15167.rs
new file mode 100644
index 000000000..a2653c10e
--- /dev/null
+++ b/tests/ui/issues/issue-15167.rs
@@ -0,0 +1,26 @@
+// macro f should not be able to inject a reference to 'n'.
+
+macro_rules! f { () => (n) }
+//~^ ERROR cannot find value `n` in this scope
+//~| ERROR cannot find value `n` in this scope
+//~| ERROR cannot find value `n` in this scope
+//~| ERROR cannot find value `n` in this scope
+
+fn main() -> (){
+ for n in 0..1 {
+ println!("{}", f!());
+ }
+
+ if let Some(n) = None {
+ println!("{}", f!());
+ }
+
+ if false {
+ } else if let Some(n) = None {
+ println!("{}", f!());
+ }
+
+ while let Some(n) = None {
+ println!("{}", f!());
+ }
+}