PaulHowarth/Blog/2012-04-30

Monday 30th April 2012

Local Packages

  • Updated perl-Moose to 2.0600:

  • New features:

    • Class::MOP::Class now has methods for introspecting and modifying the overloaded operators for a class

  • Enhancements:

    • The cookbook recipes have all been renamed; instead of numbered recipes (Basics::Recipe1), we now have descriptive names (Basics::Point_AttributesAndSubclassing), which makes it easier for us to add and remove recipes in the future, and makes it a little easier to converse about them, since the name gives us some clue of what they contain

  • Bug Fixes:

    • Re-declaring a class_type or role_type constraint that has already been declared now just returns the original type constraint, rather than replacing the original constraint and ergo losing any coercions that were on the original constraint (CPAN RT#73289)

    • Moose::Exporter now calls init_meta methods in the correct order, when multiple levels of 'also' parameters are specified

    • Moose::Exporter no longer generates init_meta methods in order to apply metaroles, since the metaclass itself isn't guaranteed to exist yet at that point; metaroles are now applied at the end of import, after all user-defined init_meta methods have been called (CPAN RT#51561)

    • Fixed a memory leak that occurred when creating an anonymous class; immutabilizing an anonymous class still leaks memory due to a bug in Eval::Closure, which should hopefully be fixed soon (CPAN RT#74650)

    • Fix a segfault when adding a method to a class that was defined in a package that was deleted
    • Avoid syntax errors on pre-5.14
  • Other:

    • The Test::DependentModules test now covers a much wider range of downstream dependents (all of them in fact, for some definition of "all"), which should allow us to track inadvertent backwards compatibility breakages much more effectively

    • A few test tweaks to avoid spurious failures


Recent