# `RustQ.Native.EnumDescriptor`
[🔗](https://github.com/dannote/rustq/blob/v0.11.1/lib/rustq/native/enum_descriptor.ex#L1)

Resolved metadata for a native Rust enum.

A descriptor combines package-scoped enum identity with parsed `RustQ.Syn.Enum`
metadata and, when available, a web source link derived from Cargo metadata.

# `t`

```elixir
@type t() :: %RustQ.Native.EnumDescriptor{
  enum: RustQ.Syn.Enum.t(),
  name: String.t(),
  package: String.t() | nil,
  source_url: String.t() | nil
}
```

# `resolve!`

```elixir
@spec resolve!(RustQ.Syn.Index.t(), String.t(), keyword()) :: t()
```

Resolves a native enum through a `RustQ.Syn.Index`.

# `variants`

```elixir
@spec variants(t()) :: [{atom(), String.t()}]
```

Returns descriptor variants as `{atom_name, rust_variant}` pairs.

---

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