我想生成一个HashMap
使用struct字段作为键,并使用usize
整数作为值.
pub struct Article {
title: String,
content: String,
category: String,
comments: Vec<Comment>
}
pub struct Comment {
content: String
}
Run Code Online (Sandbox Code Playgroud)
我的预期输出是:
{
title: 0,
content: 1,
category: 2
comments[].content: 3
}
Run Code Online (Sandbox Code Playgroud)
我的解决办法是impl
我的特质FieldsMapping
两个Article
和Comment
:
pub trait FieldsMapping {
fn get_fields_map(&self) -> HashMap<String, usize>;
}
Run Code Online (Sandbox Code Playgroud)
我想为自定义派生编写一个编译器插件FieldsMapping
.
我的问题是:如何在编译器插件中获取所有字段?我怎么知道字段类型是Vec
什么?