Module enum_gen

Module enum_gen 

Source
Expand description

Create enum objects

§Example

use proffer::*;

let e = Enum::new("Foo")
    .add_variant(Variant::new("A"))
    .add_variant(Variant::new("B").set_inner(Some("(T)")).to_owned())
    .add_generic(Generic::new("T"))
    .to_owned();

let src_code = e.generate();
let expected = r#"
    enum Foo<T>
        where
            T: ,
    {
        A,
        B(T),
    }
"#;
assert_eq!(norm_whitespace(expected), norm_whitespace(&src_code))

Structs§

Enum
Represent an enum object
Variant
Represent an enum variant/arm