Skip to content

Permit subenum to _exclude_ derives on the parent #39

@BatmanAoD

Description

@BatmanAoD

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions