17 releases
0.1.17 | Jul 18, 2022 |
---|---|
0.1.16 | Jul 17, 2022 |
0.1.7 | Jun 29, 2022 |
0.1.4 | May 31, 2022 |
0.1.0 | Jan 15, 2022 |
#1692 in Procedural macros
1,475 downloads per month
Used in 31 crates
(via woptions_meta)
1MB
29K
SLoC
Module :: proc_macro_tools
Tools for writing procedural macroses.
Sample
#[ cfg( feature = "use_std" ) ]
{
use proc_macro_tools::*;
let code = qt!( core::option::Option< i8, i16, i32, i64 > );
let tree_type = syn::parse2::< syn::Type >( code ).unwrap();
let got = type_parameters( &tree_type, 0..=2 );
got.iter().for_each( | e | println!( "{}", qt!( #e ) ) );
/* print :
i8
i16
i32
*/
}
To add to your project
cargo add proc_macro_tools
Try out from the repository
git clone https://github.com/Wandalen/wTools
cd wTools
cd sample/rust/proc_macro_tools_trivial
cargo run
Dependencies
~1.5MB
~37K SLoC