[ENHANCEMENTS]
Type constraint objects now have an assert_coerce method which will either
return a valid value or throw an error. (rjbs)We now warn when an accessor for one attribute overwrites an accessor for
another attribute. RT #57510. (Dave Rolsky)
[BUG FIXES]
The native Array and Hash delegation methods now coerce individual new
members if the member type has a coercion. In other words, if the array
reference is defined as an ArrayRef[DateTime], and you've defined a
coercion from Int to DateTime, then pushing an integer via a delegation
method will coerce the integer to a DateTime object. Reported by Karen
Etheridge. RT #62351. (Dave Rolsky)An attribute using native delegations did not always properly coerce and
type check a lazily set default value. (doy and Dave Rolsky)Using a regexp to define delegations for a class which was not yet loaded
did not actually work, but did not explicitly fail. However, it caused an
error when the class was loaded later. Reported by Max Kanat-Alexander. RT
#60596. (Dave Rolsky)Attempting to delegate to a class or role which is not yet loaded will now
throw an explicit error. (Dave Rolsky)Attempting to set lazy_build in an inherited attribute was ignored. RT
#62057. (perigrin)
[OTHER]
- The Moose test suite now uses Test::Fatal instead of
Test::Exception. (rjbs)