Unnamed repository; edit this file 'description' to name the repository.
-rw-r--r--crates/test-utils/src/minicore.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/crates/test-utils/src/minicore.rs b/crates/test-utils/src/minicore.rs
index 86fb080732..8d2538182e 100644
--- a/crates/test-utils/src/minicore.rs
+++ b/crates/test-utils/src/minicore.rs
@@ -50,6 +50,7 @@
//! iterator: option
//! iterators: iterator, fn
//! manually_drop: drop
+//! matches:
//! non_null:
//! non_zero:
//! option: panic
@@ -2181,6 +2182,20 @@ macro_rules! column {
}
// endregion:column
+// region:matches
+#[macro_export]
+#[allow_internal_unstable(non_exhaustive_omitted_patterns_lint, stmt_expr_attributes)]
+macro_rules! matches {
+ ($expression:expr, $pattern:pat $(if $guard:expr)? $(,)?) => {
+ #[allow(non_exhaustive_omitted_patterns)]
+ match $expression {
+ $pattern $(if $guard)? => true,
+ _ => false
+ }
+ };
+}
+// endregion:matches
+
pub mod prelude {
pub mod v1 {
pub use crate::{