subenum icon indicating copy to clipboard operation
subenum copied to clipboard

Permit subenum to _exclude_ derives on the parent

Open BatmanAoD opened this issue 1 year ago • 1 comments

subenum permits adding derives that aren't permissible on the parent, but it appears there's no way to exclude derives that aren't applicable to the child.

In particular, I want to be able to have an enum with a num_enum "catchall" enabling FromPrimitive, but a sub-enum that only contains unit variants:

#[repr(u32)]
#[subenum(OnlyUnit(derive(TryFromPrimitive)))]
#[derive(FromPrimitive)]
enum Foo {
    Bar = 1,
    Baz = 2,
    #[num_enum(catch_all)]
    Unknown(u32),
}

That is, I want OnlyUnit to contain Bar and Baz but not Unknown, making it non-exhaustive, which prevents deriving num_enum::FromPrimitive.

BatmanAoD avatar Oct 11 '24 18:10 BatmanAoD

This may be a duplicate of #26, but I might be misunderstanding #26.

BatmanAoD avatar Oct 11 '24 18:10 BatmanAoD