Ben*_*her 9 generics macros rust
我想创建一个宏生成一个给定的格式(Display,Debug包含一个通用型的结构体,...).
macro_rules! create_formatter {
($type_name:ident<$gen_param:ident>, $trait:path) => {
impl<$gen_param: $trait> $trait for $type_name<$gen_param> {
fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
// isn't yet implemented
}
}
};
}
Run Code Online (Sandbox Code Playgroud)
当我稍后在代码(create_formatter!(MyStruct<T>, std::fmt::Display);)中调用宏时,编译器会给出以下反馈:
error: expected one of `,`, `=`, `>`, or `?`, found `std::fmt::Display`
--> test.rs:6:26
|
6| impl<$gen_param: $trait> $trait for $type_name<$gen_param> {
| ^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?