Macro xpct::pattern

source ·
macro_rules! pattern {
    ($pattern:pat $( if $guard:expr )? $(,)?) => { ... };
}
Expand description

Construct a new Pattern value from a match pattern.

This macro is commonly used with the match_pattern matcher to test if an expression matches a pattern.

This macro supports the pattern_1 | pattern_2 syntax supported by match arms:

use xpct::pattern;
use xpct::matchers::pattern::Pattern;

let pat: Pattern<Option<&str>> = pattern!(Some("foo") | Some("bar"));

Match guards are also supported:

use xpct::pattern;
use xpct::matchers::pattern::Pattern;

let pat: Pattern<Option<&str>> = pattern!(Some(value) if *value == "foo");