//@ run-pass //! Tests that the addition of guard patterns does not change the behavior of the `pat` macro //! fragment. #![feature(guard_patterns)] #![allow(incomplete_features)] macro_rules! has_guard { ($p:pat) => { false }; ($p:pat if $e:expr) => { true }; } fn main() { assert_eq!(has_guard!(Some(_)), false); assert_eq!(has_guard!(Some(_) if true), true); assert_eq!(has_guard!((Some(_) if true)), false); }