oops, add testcase ( subtype 'Foo' => as 'Bar'; AND subtype 'Foo'; )
[gitmo/Mouse.git] / lib / Mouse.pm
index 32ee7ab..2f61610 100644 (file)
@@ -6,7 +6,6 @@ use 5.006;
 use base 'Exporter';
 
 our $VERSION;
-our $PurePerl;
 
 BEGIN {
     $VERSION  = '0.12';
@@ -16,22 +15,11 @@ BEGIN {
     } else {
         *DEBUG = sub (){ 0 };
     }
-
-    if (! defined $PurePerl && $ENV{MOUSE_PUREPERL} && $ENV{MOUSE_PUREPERL} =~ /^(.+)$/) {
-        $PurePerl = $1;
-    }
-
-    if (! $PurePerl) {
-        local $@;
-        local $^W = 0;
-        require XSLoader;
-        $PurePerl = ! eval{ XSLoader::load(__PACKAGE__, $VERSION); 1 };
-        warn "Failed to load XS mode: $@" if $@; #  && Mouse::DEBUG();
-    }
 }
 
 use Carp 'confess';
-use Mouse::Util 'blessed';
+use Scalar::Util 'blessed';
+use Mouse::Util;
 
 use Mouse::Meta::Attribute;
 use Mouse::Meta::Class;
@@ -136,6 +124,7 @@ sub load_class {
         confess "Invalid class name ($display)";
     }
 
+    return 1 if $class eq 'Mouse::Object';
     return 1 if is_class_loaded($class);
 
     (my $file = "$class.pm") =~ s{::}{/}g;