| //@ 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)); | |
| } |