Function macro_tools::exposed::typ::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::{ typ, qt };

let code = qt!( core::option::Option< i8, i16, i32, i64 > );
let tree_type = syn::parse2::< syn::Type >( code ).unwrap();
let got = typ::type_parameters( &tree_type, 0..=2 );
got.iter().for_each( | e | println!( "{}", qt!( #e ) ) );
// < i8
// < i16
// < i32