summaryrefslogtreecommitdiffstats
path: root/src/test/ui/macros/issue-26322.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/macros/issue-26322.rs')
-rw-r--r--src/test/ui/macros/issue-26322.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/test/ui/macros/issue-26322.rs b/src/test/ui/macros/issue-26322.rs
new file mode 100644
index 000000000..c1dc80eb7
--- /dev/null
+++ b/src/test/ui/macros/issue-26322.rs
@@ -0,0 +1,30 @@
+// run-pass
+#![allow(non_camel_case_types)]
+#![allow(non_snake_case)]
+
+macro_rules! columnline {
+ () => (
+ (column!(), line!())
+ )
+}
+
+macro_rules! indirectcolumnline {
+ () => (
+ (||{ columnline!() })()
+ )
+}
+
+fn main() {
+ let closure = || {
+ columnline!()
+ };
+ let iflet = if let Some(_) = Some(0) {
+ columnline!()
+ } else { (0, 0) };
+ let cl = columnline!();
+ assert_eq!(closure(), (9, 19));
+ assert_eq!(iflet, (9, 22));
+ assert_eq!(cl, (14, 24));
+ let indirect = indirectcolumnline!();
+ assert_eq!(indirect, (20, 28));
+}