optfield

Crates.iooptfield
lib.rsoptfield
version0.4.0
created_at2020-04-10 17:08:00.884469+00
updated_at2024-12-06 16:44:44.292574+00
descriptionA macro that generates structs with optional fields
homepage
repositoryhttps://github.com/roignpar/optfield
max_upload_size
id228407
size81,938
(roignpar)

documentation

README

optfield

crates.io Released API docs Minimum rustc version CI

optfield is a macro that, given a struct, generates another struct with the same fields, but wrapped in Option<T>.

Minimum rustc version: 1.61.0

Install

cargo add optfield

Use

optfield takes the opt struct name as its first argument:

use optfield::optfield;

#[optfield(Opt)]
struct MyStruct<T> {
    text: String,
    number: i32,
    generic: T,
}

This will generate another struct that looks like:

struct Opt<T> {
    text: Option<String>,
    number: Option<i32>,
    generic: Option<T>,
}

optfield supports defining visibility, documentation, attributes and merge methods. For more details and examples check its documentation.

License

Licensed under either of Apache License, Version 2.0 or MIT at your option.

Commit count: 111

cargo fmt