4 个版本
0.1.1 | 2020年1月11日 |
---|---|
0.1.0 | 2020年1月11日 |
0.0.2 | 2018年5月27日 |
0.0.1 | 2018年5月27日 |
在 Rust 模式 中排名 2693
7KB
77 行
multi-structs
从多个子结构体生成合并结构体的宏。
示例
#[macro_use]
extern crate multi_structs;
multi_structs! {
/// The merged struct.
#[derive(Debug)]
pub struct Merged {
/// Foo
#[derive(Debug)]
pub foo: struct Foo {
/// a
pub a: i32,
/// b
pub b: i64,
}
/// Bar
#[derive(Debug)]
pub bar: struct Bar {
/// c
pub c: usize,
/// d
pub d: String,
}
}
}
fn main() {
let foo = Foo { a: 1, b: 2 };
let bar = Bar { c: 3, d: "aaa".to_string() };
println!("{:?}, {:?}", foo, bar);
let merged = Merged::new(foo, bar);
println!("{:?}", merged);
let (foo, bar) = merged.split();
println!("{:?}, {:?}", foo, bar);
}