1#![ cfg_attr( feature = "no_std", no_std ) ]
2#![ doc( html_logo_url = "https://raw.githubusercontent.com/Wandalen/wTools/master/asset/img/logo_v3_trans_square.png" ) ]
3#![ doc
4(
5 html_favicon_url = "https://raw.githubusercontent.com/Wandalen/wTools/alpha/asset/img/logo_v3_trans_square_icon_small_v2.ico"
6) ]
7#![ doc( html_root_url = "https://docs.rs/derive_tools/latest/derive_tools/" ) ]
8#![ cfg_attr( doc, doc = include_str!( concat!( env!( "CARGO_MANIFEST_DIR" ), "/", "readme.md" ) ) ) ]
9#![ cfg_attr( not( doc ), doc = "Derive macro tools" ) ]
10
11#[ cfg( feature = "derive_from" ) ]
33pub use derive_tools_meta::From;
34#[ cfg( feature = "derive_inner_from" ) ]
35pub use derive_tools_meta::InnerFrom;
36#[ cfg( feature = "derive_new" ) ]
37pub use derive_tools_meta::New;
38#[ cfg( feature = "derive_not" ) ]
39pub use derive_tools_meta::Not;
40
41#[ cfg( feature = "derive_variadic_from" ) ]
42pub use derive_tools_meta::VariadicFrom;
43#[ cfg( feature = "derive_as_mut" ) ]
44pub use derive_tools_meta::AsMut;
45#[ cfg( feature = "derive_as_ref" ) ]
46pub use derive_tools_meta::AsRef;
47#[ cfg( feature = "derive_deref" ) ]
48pub use derive_tools_meta::Deref;
49#[ cfg( feature = "derive_deref_mut" ) ]
50pub use derive_tools_meta::DerefMut;
51#[ cfg( feature = "derive_index" ) ]
52pub use derive_tools_meta::Index;
53#[ cfg( feature = "derive_index_mut" ) ]
54pub use derive_tools_meta::IndexMut;
55#[ cfg( feature = "derive_more" ) ]
56#[ allow( unused_imports ) ]
57mod derive_more {
58 #[ cfg( feature = "derive_add" ) ]
59 pub use ::derive_more::{Add, Sub};
60 #[ cfg( feature = "derive_add_assign" ) ]
61 pub use ::derive_more::{AddAssign, SubAssign};
62 #[ cfg( feature = "derive_constructor" ) ]
63 pub use ::derive_more::Constructor;
64 #[ cfg( feature = "derive_error" ) ]
65 pub use ::derive_more::Error;
66 #[ cfg( feature = "derive_into" ) ]
67 pub use ::derive_more::Into;
68 #[ cfg( feature = "derive_into_iterator" ) ]
71 pub use ::derive_more::IntoIterator;
72 #[ cfg( feature = "derive_mul" ) ]
73 pub use ::derive_more::{Mul, Div};
74 #[ cfg( feature = "derive_mul_assign" ) ]
75 pub use ::derive_more::{MulAssign, DivAssign};
76 #[ cfg( feature = "derive_sum" ) ]
77 pub use ::derive_more::Sum;
78 #[ cfg( feature = "derive_try_into" ) ]
79 pub use ::derive_more::TryInto;
80 #[ cfg( feature = "derive_is_variant" ) ]
81 pub use ::derive_more::IsVariant;
82 #[ cfg( feature = "derive_unwrap" ) ]
83 pub use ::derive_more::Unwrap;
84
85 }
88
89#[ doc( inline ) ]
90#[cfg(any(feature = "derive_variadic_from", feature = "type_variadic_from"))]
91pub use variadic_from as variadic;
92
93#[ allow( unused_imports ) ]
95#[ cfg( feature = "enabled" ) ]
96pub mod dependency {
97
98 #[ doc( inline ) ]
99 pub use ::derive_tools_meta;
100
101 #[ doc( inline ) ]
102 #[ cfg( feature = "derive_clone_dyn" ) ]
103 pub use ::clone_dyn::{self, dependency::*};
104
105 #[ doc( inline ) ]
106 #[cfg(any(feature = "derive_variadic_from", feature = "type_variadic_from"))]
107 pub use ::variadic_from::{self, dependency::*};
108
109 #[ doc( inline ) ]
110 #[ cfg( feature = "derive_more" ) ]
111 pub use ::derive_more;
112 #[ doc( inline ) ]
113 #[ cfg( feature = "derive_strum" ) ]
114 pub use ::strum;
115 #[ doc( inline ) ]
116 #[ cfg( feature = "parse_display" ) ]
117 pub use ::parse_display;
118}
119
120#[ doc( inline ) ]
121#[ cfg( feature = "enabled" ) ]
122#[ allow( unused_imports ) ]
123pub use own::*;
124
125#[ cfg( feature = "enabled" ) ]
127#[ allow( unused_imports ) ]
128pub mod own {
129
130 use super::*;
131 #[ doc( inline ) ]
132 pub use orphan::*;
133 #[ cfg( feature = "derive_clone_dyn" ) ]
134 #[ doc( inline ) ]
135 pub use ::clone_dyn::orphan::*;
136}
137
138#[ cfg( feature = "enabled" ) ]
140#[ allow( unused_imports ) ]
141pub mod orphan {
142
143 use super::*;
144 #[ doc( inline ) ]
145 pub use exposed::*;
146}
147
148#[ cfg( feature = "enabled" ) ]
150#[ allow( unused_imports ) ]
151pub mod exposed {
152
153 use super::*;
154 #[ doc( inline ) ]
155 pub use prelude::*;
156
157 #[ cfg( feature = "derive_more" ) ]
158 #[ doc( inline ) ]
159 pub use super::derive_more::*;
160
161 #[ cfg( feature = "derive_strum" ) ]
162 #[ doc( inline ) ]
163 pub use ::strum::*;
164 #[cfg(any(feature = "derive_variadic_from", feature = "type_variadic_from"))]
167 #[ doc( inline ) ]
168 pub use ::variadic_from::exposed::*;
169
170 #[ cfg( feature = "derive_strum" ) ]
171 #[ doc( inline ) ]
172 pub use ::strum::*;
173
174 #[ cfg( feature = "derive_display" ) ]
175 #[ doc( inline ) ]
176 pub use ::parse_display::Display;
177
178 #[ cfg( feature = "derive_from_str" ) ]
179 #[ doc( inline ) ]
180 pub use ::parse_display::FromStr;
181
182 #[ cfg( feature = "derive_clone_dyn" ) ]
183 #[ doc( inline ) ]
184 pub use ::clone_dyn::exposed::*;
185
186 #[ cfg( feature = "derive_clone_dyn" ) ]
187 #[ doc( inline ) ]
188 pub use ::clone_dyn;
189
190 #[ doc( inline ) ]
191 pub use ::derive_tools_meta::*;
192
193 #[ doc( inline ) ]
194 #[ cfg( feature = "derive_from" ) ]
195 pub use ::derive_tools_meta::From;
196
197 #[ doc( inline ) ]
198 #[ cfg( feature = "derive_inner_from" ) ]
199 pub use ::derive_tools_meta::InnerFrom;
200
201 #[ doc( inline ) ]
202 #[ cfg( feature = "derive_new" ) ]
203 pub use ::derive_tools_meta::New;
204}
205
206#[ cfg( feature = "enabled" ) ]
208#[ allow( unused_imports ) ]
209pub mod prelude {
210 use super::*;
211 #[ cfg( feature = "derive_clone_dyn" ) ]
212 #[ doc( inline ) ]
213 pub use ::clone_dyn;
214
215 #[ cfg( feature = "derive_clone_dyn" ) ]
216 #[ doc( inline ) ]
217 pub use ::clone_dyn::prelude::*;
218
219 #[cfg(any(feature = "derive_variadic_from", feature = "type_variadic_from"))]
220 #[ doc( inline ) ]
221 pub use ::variadic_from::prelude::*;
222}
223