Crates.io | mixin |
lib.rs | mixin |
version | 0.2.0 |
source | src |
created_at | 2020-04-29 06:53:59.669082 |
updated_at | 2020-04-30 13:09:11.004387 |
description | mixin macros |
homepage | https://github.com/DenisKolodin/mixin |
repository | https://github.com/DenisKolodin/mixin |
max_upload_size | |
id | 235241 |
size | 9,393 |
This crate contains mixin
macros that combines fields and implementations of different structs.
Example:
#[mixin::declare]
pub struct Named {
name: String,
}
#[mixin::expand]
impl Named {
pub fn name(&self) -> &str {
&self.name
}
}
#[mixin::insert(Named)]
pub struct MyStruct {}
#[test]
fn test_it() {
let my_struct = MyStruct { name: "MixIn Works" };
assert_eq!(my_struct.name(), "MixIn Works");
}