require Devel::PartialDump 0.14, to avoid infinite loop bug
Jesse Luehrs [Sun, 24 Apr 2011 22:35:19 +0000 (17:35 -0500)]
dist.ini
lib/Moose/Meta/TypeConstraint.pm

index 8dab743..ccfaddc 100644 (file)
--- a/dist.ini
+++ b/dist.ini
@@ -105,7 +105,7 @@ URI                          = 0
 [Prereqs / RuntimeRecommends]
 ; this needs to be installed *after*, since it deps on Moose
 ; remove this if this is an issue
-Devel::PartialDump = 0
+Devel::PartialDump = 0.14
 
 [Conflicts]
 -script = bin/moose-outdated
index f85cffb..0c35333 100644 (file)
@@ -140,7 +140,12 @@ sub get_message {
     }
     else {
         # have to load it late like this, since it uses Moose itself
-        if (try { Class::MOP::load_class('Devel::PartialDump'); 1 }) {
+        my $can_partialdump = try {
+            # versions prior to 0.14 had a potential infinite loop bug
+            Class::MOP::load_class('Devel::PartialDump', { -version => 0.14 });
+            1;
+        };
+        if ($can_partialdump) {
             $value = Devel::PartialDump->new->dump($value);
         }
         else {