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