From 5ea54133f5cf01be69c93c82282296b73bd3e61c Mon Sep 17 00:00:00 2001 From: Michael Pfaff Date: Fri, 27 May 2022 19:29:45 -0400 Subject: [PATCH] Add #[doc(hidden)] attribute to internal macros and re-export paste --- src/lib.rs | 4 ++++ src/macros.rs | 19 +++++++++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index f74f50a..283e642 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -14,6 +14,10 @@ pub trait DynamicQuery { } } +// needed for macros +#[doc(hidden)] +pub use paste; + mod macros; #[cfg(test)] diff --git a/src/macros.rs b/src/macros.rs index c09ebb7..d85d27e 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -1,3 +1,6 @@ +use paste; + +#[doc(hidden)] #[macro_export] macro_rules! query_def_type { (@ ($type:ty)) => { @@ -14,6 +17,7 @@ macro_rules! query_def_type { }; } +#[doc(hidden)] #[macro_export] macro_rules! query_def_field { (@dyn $type:ty) => { @@ -33,6 +37,7 @@ macro_rules! query_def_field { }; } +#[doc(hidden)] #[macro_export] macro_rules! query_def_filter { // note about this: 'dyn is implied for 'vec and 'map because if the type is not 'dyn, then the @@ -79,6 +84,7 @@ macro_rules! query_def_filter { }; } +#[doc(hidden)] #[macro_export] macro_rules! query_def_internal_struct { (@ @@ -110,7 +116,7 @@ macro_rules! query_def_internal_struct { )+ } - ::paste::paste! { + $crate::paste::paste! { #[derive(Debug, Clone, Copy, Default)] $( $( #[$def_meta] )+ )? $vis struct [<$data Def>] { @@ -121,7 +127,7 @@ macro_rules! query_def_internal_struct { } impl $crate::DynamicQuery for $data { - type Definition = ::paste::paste! { [<$data Def>] }; + type Definition = $crate::paste::paste! { [<$data Def>] }; fn filter_ref(&mut self, def: &Self::Definition) { $( @@ -137,6 +143,7 @@ macro_rules! query_def_internal_struct { }; } +#[doc(hidden)] #[macro_export] macro_rules! query_def_internal_enum { (@ @@ -181,7 +188,7 @@ macro_rules! query_def_internal_enum { ),+ } - ::paste::paste! { + $crate::paste::paste! { #[derive(Debug, Clone, Copy, Default)] $( $( #[$def_meta] )+ )? $vis struct [<$data Def>] { @@ -191,7 +198,7 @@ macro_rules! query_def_internal_enum { } } - ::paste::paste! { + $crate::paste::paste! { // impl [<$data Def>] { // $( // pub type $variant = [<$data Def Variant $variant>]; @@ -210,13 +217,13 @@ macro_rules! query_def_internal_enum { } impl $crate::DynamicQuery for $data { - type Definition = ::paste::paste! { [<$data Def>] }; + type Definition = $crate::paste::paste! { [<$data Def>] }; fn filter_ref(&mut self, def: &Self::Definition) { match self { $( Self::$variant { $( ref mut $field ),+ } => { - let def = ::paste::paste! { &def.[<$variant:snake:lower>] }; + let def = $crate::paste::paste! { &def.[<$variant:snake:lower>] }; $( let query = &def.$field; $crate::query_def_filter!(@ query, $field, $($qualifier)? ($($type)+));