cleanup require usage so we don't trample on $@ and tweak the DEMOLISH code slightly
[gitmo/Role-Tiny.git] / lib / Moo / Role.pm
index 5b3761f..0484277 100644 (file)
@@ -17,7 +17,7 @@ sub import {
   *{_getglob "${target}::has"} = sub {
     my ($name, %spec) = @_;
     ($INFO{$target}{accessor_maker} ||= do {
-      require Method::Generate::Accessor;
+      { local $@; require Method::Generate::Accessor; }
       Method::Generate::Accessor->new
     })->generate_method($target, $name, \%spec);
     $INFO{$target}{attributes}{$name} = \%spec;
@@ -40,7 +40,7 @@ sub create_class_with_roles {
 
   return $new_name if $Role::Tiny::COMPOSED{class}{$new_name};
 
-  require Sub::Quote;
+  { local $@; require Sub::Quote; }
 
   $me->SUPER::create_class_with_roles($superclass, @roles);