Skip to content

Allow custom derives for unions #50223

@ghost

Description

Derived from this question:
https://users.rust-lang.org/t/why-are-proc-macro-derives-prohibited-for-unions/17065

Currently, we cannot apply custom derives to unions:

#[repr(C)]
#[derive(CustomDerive)]
union Value {
    a: u64,
    b: f64,
}
error: proc-macro derives may only be applied to struct/enum items
  --> src/value.rs:48:10
   |
48 | #[derive(CustomDerive)]
   |          ^^^^^^^^^^^^

This restriction should be removed if there is no technical issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-decl-macros-2-0Area: Declarative macros 2.0 (#39412)C-feature-requestCategory: A feature request, i.e: not implemented / a PR.E-easyCall for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions