stop the redefine warnings?
[gitmo/Class-C3.git] / lib / Class / C3.pm
index baca46d..8b4e75a 100644 (file)
@@ -4,7 +4,7 @@ package Class::C3;
 use strict;
 use warnings;
 
-our $VERSION = '0.17';
+our $VERSION = '0.19';
 
 our $C3_IN_CORE;
 our $C3_XS;
@@ -12,6 +12,7 @@ our $C3_XS;
 BEGIN {
     if($] > 5.009_004) {
         $C3_IN_CORE = 1;
+        require mro;
     }
     else {
         eval "require Class::C3::XS";
@@ -66,6 +67,11 @@ sub import {
 
 ## initializers
 
+# This prevents silly warnings when Class::C3 is
+#  used explicitly along with MRO::Compat under 5.9.5+
+
+{ no warnings 'redefine';
+
 sub initialize {
     %next::METHOD_CACHE = ();
     # why bother if we don't have anything ...
@@ -99,6 +105,8 @@ sub uninitialize {
 
 sub reinitialize { goto &initialize }
 
+} # end of "no warnings 'redefine'"
+
 ## functions for applying C3 to classes
 
 sub _calculate_method_dispatch_tables {