Skip to content

Split up AggregateKind::Adt #1276

Description

@Nadrieril

Right now it looks like:

    /// A struct, enum or union aggregate. The `VariantId`, if present, indicates this is an enum
    /// and the aggregate uses that variant. The `FieldId`, if present, indicates this is a union
    /// and the aggregate writes into that field. Otherwise this is a struct.
    Adt(TypeDeclRef, Option<VariantId>, Option<FieldId>),

which is a bit ugly. in the interest of making impossible cases unrepresentable, let's have AggregateKind::Enum/Struct/Union. ConstantEprKind::Adt should also be split up in that way.

Requested by @N1ark

Metadata

Metadata

Assignees

No one assigned

    Labels

    S-representationThis feature requires a nontrivial change to the AST of Charon

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions