]> git.lizzy.rs Git - rust.git/commitdiff
Add a test for issue 26322
authorSimonas Kazlauskas <git@kazlauskas.me>
Tue, 16 Jun 2015 18:49:01 +0000 (21:49 +0300)
committerSimonas Kazlauskas <git@kazlauskas.me>
Tue, 16 Jun 2015 19:23:01 +0000 (22:23 +0300)
src/test/run-pass/issue-26322.rs [new file with mode: 0644]

diff --git a/src/test/run-pass/issue-26322.rs b/src/test/run-pass/issue-26322.rs
new file mode 100644 (file)
index 0000000..766d1ce
--- /dev/null
@@ -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));
+}