Revision history for Object::PadX::Enum
0.03 2026-09-14
Enums are now fully compile-time constructs. The enum block body
executes while it is compiled (BEGIN-block style): item args are
evaluated at compile time, the class is sealed early via
$meta->seal, and singletons exist as soon as the closing brace
has been parsed - including from later BEGIN blocks of the same
unit. Item accessors are installed as inlinable constant subs,
so function-style calls like Colors::RED() constant-fold at the
caller's compile time. Item args must no longer depend on
runtime state.
0.02 2026-05-13
Silence xsubpp "Please specify prototyping behavior" warning by
adding `PROTOTYPES: DISABLE` to Enum.xs.
Fix t/02-fields-methods.t parse failure on perls older than
5.26.2 by dropping the empty `()` signature from a method
declaration.
0.01 2026-05-12
First version. Two keywords: `enum NAME { ... }` and `item NAME(...)`.
Auto-injects `$ordinal :reader` and installs per-value accessors
plus `values`, `from_ordinal`, `from_name` class methods.
Supports `:isa(CLASS)` / `:extends(CLASS)` and `:does(ROLE)`
class-level attributes on `enum`, optionally with VERSION.
Keyboard Shortcuts
Global
s
Focus search bar
?
Bring up this help dialog
GitHub
gp
Go to pull requests
gi
Go to GitHub issues (only if GitHub is preferred repository)