change Mouse handling to avoid dying on old versions
Matt S Trout [Tue, 5 Feb 2013 23:47:44 +0000 (23:47 +0000)]
Changes
lib/Moo.pm
lib/Moo/Role.pm

diff --git a/Changes b/Changes
index 32aac77..d8b6ec6 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,3 +1,5 @@
+  - Switch to testing for Mouse::Util->can('find_meta') to avoid
+    exploding on ancient Mouse installs
   - Fix loading order bug that results in _install_coderef being treated
     as indirect object notation
 
index 9f5246d..8061541 100644 (file)
@@ -95,7 +95,7 @@ sub _set_superclasses {
   no warnings 'once'; # piss off. -- mst
   $Moo::HandleMoose::MOUSE{$target} = [
     grep defined, map Mouse::Util::find_meta($_), @_
-  ] if $INC{"Mouse.pm"};
+  ] if Mouse::Util->can('find_meta');
 }
 
 sub _maybe_reset_handlemoose {
index f823754..0377dd7 100644 (file)
@@ -92,7 +92,7 @@ sub _inhale_if_moose {
         and $meta = Class::MOP::class_of($role)
       )
       or (
-        $INC{"Mouse.pm"}
+        Mouse::Util->can('find_meta')
         and $meta = Mouse::Util::find_meta($role)
      )
   ) {