# `RustQ.Syn.Enum`
[🔗](https://github.com/elixir-crab/rustq/blob/v1.0.0-rc.19/lib/rustq/syn.ex#L249)

Rust enum metadata, including doc comments, variant names, and variant shapes.

`variants` lists variant names. `variant_shapes` describes each variant's
payload in the same order.

# `t`

```elixir
@type t() :: %RustQ.Syn.Enum{
  docs: [String.t()],
  lifetimes: [String.t()],
  name: String.t(),
  source_line: pos_integer() | nil,
  source_path: Path.t() | nil,
  type_parameters: [String.t()],
  variant_shapes: [RustQ.Syn.Variant.t()],
  variants: [String.t()],
  visibility: :public | :private
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
