The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Changes for version 2.002_000 - 2016-05-18

  • Use Carp::croak rather than die to improve reported error locations (RT#109844, RT#109632, RT#102622)
  • removed Method::Inliner module. It was never intended to ship with Moo, and was undocumented, untested, and unused on CPAN.
  • require Role::Tiny 2.000002 for fixes to method modifiers being applied via multiple role composition paths (RT#106668)
  • Delay loading Class::Method::Modifiers until we actually need it
  • Fix an explosion that could happen if meta inflation was attempted part way through Moo's bootstrapping process, which was possible via a CORE::GLOBAL::bless override (RT#113743)
  • Accessor subs will be generated immediately, rather than being partially deferred. The deferal added extra sub layers and the delayed compilation didn't provide any real benefit for them.
  • Numeric values used as defaults will be inlined as numbers rather than strings.
  • Numerous test cleanups and additional test coverage
  • Fixed a typo in Sub::Defer docs (RT#113416)
  • Deferred subs (including constructors) will always be named properly, even if neither Sub::Name nor Sub::Util are available. This improves compatibility with namespace::autoclean, among other things. Once the sub is undeferred, it may not be given a correct name if Sub::Name or Sub::Util aren't available.

Modules

Moo
Minimalist Object Orientation (with Moose compatibility)
Minimal Object Orientation support for Roles
defer generation of subroutines until they are first called
efficient generation of subroutines via string eval
oo
syntactic sugar for Moo oneliners

Provides

in lib/Method/Generate/Accessor.pm
in lib/Method/Generate/BuildAll.pm
in lib/Method/Generate/Constructor.pm
in lib/Method/Generate/DemolishAll.pm
in lib/Moo/HandleMoose.pm
in lib/Moo/HandleMoose.pm
in lib/Moo/HandleMoose/FakeMetaClass.pm
in lib/Moo/HandleMoose/_TypeMap.pm
in lib/Moo/Object.pm
in lib/Moo/_Utils.pm
in lib/Moo/_mro.pm
in lib/Moo/_strictures.pm
in lib/Moo/sification.pm