Function macro_tools::type_parameters
source · pub fn type_parameters(ty: &Type, range: impl NonIterableInterval) -> Vec<&Type>Expand description
Return the specified number of parameters of the type.
Good to getting i32 from core::option::Option< i32 > or alloc::vec::Vec< i32 >
§Basic use-case.
use 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 ) ) );
// < i8
// < i16
// < i32