[ Bug Fixes ]
- Setting a default for a slurpy parameter in Type::Params now warns and
ignores the default instead of failing to compile because of a syntax
error.
Zhtwn++
[ Other ]
- Added: Move two helper subs out of Type::Library and into
Eval::TypeTiny, clean them up, and document them as part of the API
(set_subname and type_to_coderef).
- Added: Type::Tiny now has an
exportables
method which provides a list
of functions that the type can export. Type libraries now defer to this
when deciding what they can export.
- Added: Type::Tiny::Class is now an exporter.
- Added: Type::Tiny::Duck is now an exporter.
- Added: Type::Tiny::Enum has an is_word_safe method which indicates
whether all values in the enumeration are 'words' (i.e. contain only
word characters).
- Added: Type::Tiny::Enum is now an exporter.
- Added: Type::Tiny::Role is now an exporter.
- Added: Word-safe enumerations export constants for each value.
Branislav Zahradník++
- Major simplifications of Type::Library internals.
- The NICE_PROTOTYPES constant has been moved from Type::Library to
Eval::TypeTiny, though a copy of it is still available in Type::Library
for backwards compatibility.
- The intersection of two Type::Tiny::Enum objects is now a
Type::Tiny::Enum instead of a Type::Tiny::Intersection.
Branislav Zahradník++
- The union of two Type::Tiny::Enum objects is now a Type::Tiny::Enum
instead of a Type::Tiny::Union.
- Type::Params will call default coderefs as a method for signatures where
method => 1.