X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoo.pm;h=aea43e180c454f1f693dcd7cf9393ba4c3c9b307;hb=faa9ce11cefee1e6f7800ec1dbe561717c162161;hp=f188c1259ed7bfdb7ba1352435d8b889ba0e6e52;hpb=49d332df39656855cadaa6d4775f6df1a238b7c9;p=gitmo%2FRole-Tiny.git diff --git a/lib/Moo.pm b/lib/Moo.pm index f188c12..aea43e1 100644 --- a/lib/Moo.pm +++ b/lib/Moo.pm @@ -20,7 +20,7 @@ sub import { @{*{_getglob("${target}::ISA")}{ARRAY}} = @_; }; *{_getglob("${target}::with")} = sub { - { local $@; require Moo::Role; } + require Moo::Role; die "Only one role supported at a time by with" if @_ > 1; Moo::Role->apply_role_to_package($target, $_[0]); }; @@ -28,7 +28,7 @@ sub import { *{_getglob("${target}::has")} = sub { my ($name, %spec) = @_; ($MAKERS{$target}{accessor} ||= do { - { local $@; require Method::Generate::Accessor; } + require Method::Generate::Accessor; Method::Generate::Accessor->new })->generate_method($target, $name, \%spec); $class->_constructor_maker_for($target) @@ -36,14 +36,14 @@ sub import { }; foreach my $type (qw(before after around)) { *{_getglob "${target}::${type}"} = sub { - { local $@; require Class::Method::Modifiers; } + require Class::Method::Modifiers; _install_modifier($target, $type, @_); }; } { no strict 'refs'; @{"${target}::ISA"} = do { - { local $@; require Moo::Object; } ('Moo::Object'); + require Moo::Object; ('Moo::Object'); } unless @{"${target}::ISA"}; } } @@ -52,11 +52,8 @@ sub _constructor_maker_for { my ($class, $target, $select_super) = @_; return unless $MAKERS{$target}; $MAKERS{$target}{constructor} ||= do { - { - local $@; - require Method::Generate::Constructor; - require Sub::Defer; - } + require Method::Generate::Constructor; + require Sub::Defer; my ($moo_constructor, $con); if ($select_super && $MAKERS{$select_super}) { @@ -82,7 +79,7 @@ sub _constructor_maker_for { ->new( package => $target, accessor_generator => do { - { local $@; require Method::Generate::Accessor; } + require Method::Generate::Accessor; Method::Generate::Accessor->new; }, construction_string => (