Я использую процедурные макросы для генерации функций. Я хочу преобразовать Ty
в Vec<Ty>
. Это мой слишком сложный путь, превращающий some_ident
Ty
в Vec<Ty>
:
syn::Ty::Path(None, syn::Path::from(
syn::PathSegment {
ident: Ident::new("std::vec::Vec"),
parameters: syn::PathParameters::AngleBracketed(AngleBracketedParameterData {
lifetimes: vec![],
types: vec![syn::Ty::Path(None,
syn::Path {
global: false,
segments: vec![syn::PathSegment {
ident: some_ident,
parameters: syn::PathParameters::AngleBracketed(AngleBracketedParameterData {
lifetimes: vec![],
types: vec![],
bindings: vec![],
}),
}],
},
)],
bindings: vec![],
}),
}
));
A простой проект минимального воспроизведения .
Есть ли лучший способ сделать это?