package Moo::sification; use Moo::_strictures; no warnings 'once'; BEGIN { *_USE_DGD = "$]" < 5.014 ? sub(){1} : sub(){0}; require Devel::GlobalDestruction if _USE_DGD(); } use Carp qw(croak); BEGIN { our @CARP_NOT = qw(Moo::HandleMoose) } sub unimport { croak "Can't disable Moo::sification after inflation has been done" if $Moo::HandleMoose::SETUP_DONE; our $disabled = 1; } sub Moo::HandleMoose::AuthorityHack::DESTROY { unless (our $disabled or _USE_DGD ? Devel::GlobalDestruction::in_global_destruction() : ${^GLOBAL_PHASE} eq 'DESTRUCT' ) { require Moo::HandleMoose; Moo::HandleMoose->import; } } sub import { return if our $setup_done; if ($INC{"Moose.pm"}) { require Moo::HandleMoose; Moo::HandleMoose->import; } else { $Moose::AUTHORITY = bless({}, 'Moo::HandleMoose::AuthorityHack'); } $setup_done = 1; } 1;