Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/thiskai/constructor-macro


https://github.com/thiskai/constructor-macro

Last synced: 8 days ago
JSON representation

Awesome Lists containing this project

README

        

# constructor-macro

## Cargo.toml
```toml
[dependencies]
constructor-macro = "0.4"
```

## Example

### Rust 2018
```rust
use constructor_macro::ConstructorMacro;

#[derive(ConstructorMacro)]
pub struct Thing {
#[default(1)]
pub field1: i32,
pub field2: i32,
}

fn main() {
let thing1 = Thing!();
assert_eq!(thing1.field1, 1);
assert_eq!(thing1.field2, 0);

let thing2 = Thing! { field1: 2 };
assert_eq!(thing2.field1, 2);
assert_eq!(thing2.field2, 0);

let thing3 = Thing! {
field1: 0,
field2: 100,
};
assert_eq!(thing3.field1, 0);
assert_eq!(thing3.field2, 100);
}
```

### Rust 2015
```rust
#[macro_use]
extern crate constructor_macro;

...
```