Changes for version 1.06 - 2026-11-11
- Add the handles(...) slot modifier: delegate methods to an Object (every method of a role with role:Name), call a CodeRef, or run native ops on an ArrayRef or HashRef; see "Delegation (handles)"
- slot_info reports has_handles, handles and default_implicit
- A private attribute is private on every route - reader, writer, clearer, predicate, function-style accessor, inherited and role slots - and callable only from the package that declared it
- An unterminated '(' in a slot spec croaks instead of dropping the argument's last character
- Fix an inherited slot losing its readonly, required and coerce checks when its accessor is called as a function
- Fix a heap overflow when a class is defined again with fewer slots than before
- Fix a leak when a lazy value fails its type check, and a +attr on a role slot freeing the spec other classes share
- Add bench/handles.pl, and tests for delegation and private attributes
Modules
objects with prototype chains