From cf59f738b9f687aa0902bf2bd011219567e4fea5 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Fri, 25 Oct 2024 02:01:29 +0000 Subject: [PATCH] move macros incorrectly moved out of utils to top level Signed-off-by: Jason Volk --- src/core/mod.rs | 56 ----------------------------------- src/core/utils/mod.rs | 68 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+), 56 deletions(-) diff --git a/src/core/mod.rs b/src/core/mod.rs index 79052554..d201709b 100644 --- a/src/core/mod.rs +++ b/src/core/mod.rs @@ -36,59 +36,3 @@ pub mod mods { () => {}; } } - -/// Functor for falsy -#[macro_export] -macro_rules! is_false { - () => { - |x| !x - }; -} - -/// Functor for truthy -#[macro_export] -macro_rules! is_true { - () => { - |x| !!x - }; -} - -/// Functor for equality to zero -#[macro_export] -macro_rules! is_zero { - () => { - $crate::is_matching!(0) - }; -} - -/// Functor for equality i.e. .is_some_and(is_equal!(2)) -#[macro_export] -macro_rules! is_equal_to { - ($val:expr) => { - |x| x == $val - }; -} - -/// Functor for less i.e. .is_some_and(is_less_than!(2)) -#[macro_export] -macro_rules! is_less_than { - ($val:expr) => { - |x| x < $val - }; -} - -/// Functor for matches! i.e. .is_some_and(is_matching!('A'..='Z')) -#[macro_export] -macro_rules! is_matching { - ($val:expr) => { - |x| matches!(x, $val) - }; -} - -/// Functor for !is_empty() -#[macro_export] -macro_rules! is_not_empty { - () => { - |x| !x.is_empty() - }; -} diff --git a/src/core/utils/mod.rs b/src/core/utils/mod.rs index 3943a8da..8e29c608 100644 --- a/src/core/utils/mod.rs +++ b/src/core/utils/mod.rs @@ -57,3 +57,71 @@ macro_rules! at { |t| t.$idx }; } + +/// Functor for equality i.e. .is_some_and(is_equal!(2)) +#[macro_export] +macro_rules! is_equal_to { + ($val:ident) => { + |x| x == $val + }; + + ($val:expr) => { + |x| x == $val + }; +} + +/// Functor for less i.e. .is_some_and(is_less_than!(2)) +#[macro_export] +macro_rules! is_less_than { + ($val:ident) => { + |x| x < $val + }; + + ($val:expr) => { + |x| x < $val + }; +} + +/// Functor for equality to zero +#[macro_export] +macro_rules! is_zero { + () => { + $crate::is_matching!(0) + }; +} + +/// Functor for matches! i.e. .is_some_and(is_matching!('A'..='Z')) +#[macro_export] +macro_rules! is_matching { + ($val:ident) => { + |x| matches!(x, $val) + }; + + ($val:expr) => { + |x| matches!(x, $val) + }; +} + +/// Functor for !is_empty() +#[macro_export] +macro_rules! is_not_empty { + () => { + |x| !x.is_empty() + }; +} + +/// Functor for truthy +#[macro_export] +macro_rules! is_true { + () => { + |x| !!x + }; +} + +/// Functor for falsy +#[macro_export] +macro_rules! is_false { + () => { + |x| !x + }; +}