10 releases
Uses old Rust 2015
0.1.10 | Jan 21, 2023 |
---|---|
0.1.9 | Aug 12, 2021 |
0.1.8 | Aug 22, 2018 |
0.1.7 | Jul 19, 2018 |
0.1.0 |
|
#797 in #build
2,053,273 downloads per month
Used in 5,460 crates
(220 directly)
6KB
55 lines
A macro to evaluate, as a boolean, whether an expression matches a pattern.
For users who build using only Rust 1.42 and newer, consider using std::matches
, which
is included in the standard library prelude and thus is automatically in scope.
lib.rs
:
A macro to evaluate, as a boolean, whether an expression matches a pattern.
For users who build using only Rust 1.42 and newer, consider using std::matches
, which
is included in the standard library prelude and thus is automatically in scope.
Examples
#[macro_use]
extern crate matches;
#[derive(Debug)]
pub enum Foo<T> {
A,
B(T),
}
impl<T> Foo<T> {
pub fn is_b(&self) -> bool {
matches!(*self, Foo::B(_))
}
}
impl<T: core::fmt::Debug> Foo<T> {
pub fn assert_is_b(&self) {
assert_matches!(&self, Foo::B(_));
}
}