about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSimonas Kazlauskas <git@kazlauskas.me>2015-06-16 21:49:01 +0300
committerBrian Anderson <banderson@mozilla.com>2015-06-18 14:06:00 -0700
commita030da84df408e3ac4fcb8cc92d2d493f265cd83 (patch)
treeeb77c0396f7f81fab54de4bbc7f9c76e6b020d59
parent5bbdbfae0ce2ac4a5ce2f6067749cf4df302137b (diff)
downloadrust-a030da84df408e3ac4fcb8cc92d2d493f265cd83.tar.gz
rust-a030da84df408e3ac4fcb8cc92d2d493f265cd83.zip
Add a test for issue 26322
-rw-r--r--src/test/run-pass/issue-26322.rs36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/test/run-pass/issue-26322.rs b/src/test/run-pass/issue-26322.rs
new file mode 100644
index 00000000000..766d1ce25d1
--- /dev/null
+++ b/src/test/run-pass/issue-26322.rs
@@ -0,0 +1,36 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+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(), (8, 25));
+    assert_eq!(iflet, (8, 28));
+    assert_eq!(cl, (13, 30));
+    let indirect = indirectcolumnline!();
+    assert_eq!(indirect, (19, 34));
+}