PaulHowarth/Blog/2010-10-19

Tuesday 19th October 2010

Local Packages

  • Updated perl-Class-MOP to 1.10:

    • Lots of fixes for edge cases with anon classes
  • Updated perl-Moose to 1.17:

    • Almost every native delegation method that changes the attribute value now has an explicitly documented return value, which generally matches what Perl would return for the same operation
    • Lots of work on native delegation documentation
    • Passing an odd number of args to ->new() now gives a more useful warning

    • Experimentally allow disabling stack traces by setting an environment variable
    • The deprecation warning for using alias and excludes without a leading dash now tells you the role being applied and what it was being applied to

    • A number of native trait methods that expected strings as arguments did not allow the empty string (CPAN RT#61962)

    • 'no Moose' no longer inadvertently removes imports it didn't create itself (CPAN RT#60013)

    • Roles now support passing an array reference of method names to method modifier sugar functions
    • Native traits no longer use optimized inlining routines if the instance requests it (in particular, if inline_get_slot_value doesn't return something that can be assigned to)

    • We now ignore all Class::MOP and Moose classes when determining what package called a deprecated feature, which should make the deprecation warnings saner, and make it possible to turn them off more easily

    • The deprecated "default is" warning no longer happens if the attribute has any accessor method defined (accessor, reader, writer)

    • The "default default" code for some native delegations no longer issues a deprecation warning when the attribute is required or has a builder

    • Setting a "default default" caused a fatal error if you used the builder or lazy_build options for the attribute (CPAN RT#59613)

    • Make native delegation inlining work with instance metaclasses where slot access is a do {} block, like Kioku


Recent