The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 2.002_001 - 2016-06-17

  • added Sub::Quote::sanitize_identifier to generate an identifier from an arbitrary string.
  • Sub::Defer::defer_info is now exportable.
  • improved documentation for Sub::Quote.
  • fix quoted subs with no_defer ignoring no_install option. (RT#114605)
  • internals of Sub::Quote were refactored.
  • error message when @ISA changes now includes the location that the constructor was generated.
  • original invoker will be used when calling a non-Moo parent constructor. (RT#115189)
  • added testing for preserving context into quote_sub subs. (RT#114511)
  • quote_sub context options will be used even when zero. (RT#114512)
  • Sub::Defer::defer_sub gained attributes option to specify sub attributes.
  • Sub::Quote::quote_sub gained attributes option to specify sub attributes.

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