check if the metaclass is loaded
Jason May [Sat, 7 Aug 2010 17:59:14 +0000 (13:59 -0400)]
lib/Moose.pm

index 65538a7..a21d20b 100644 (file)
@@ -157,6 +157,9 @@ sub init_meta {
     my $metaclass  = $args{metaclass}  || 'Moose::Meta::Class';
     my $meta_name  = exists $args{meta_name} ? $args{meta_name} : 'meta';
 
+    Moose->throw_error("The Metaclass $metaclass must be loaded. (Perhaps you forgot to 'use $metaclass'?)")
+        unless Class::MOP::is_class_loaded($metaclass);
+
     Moose->throw_error("The Metaclass $metaclass must be a subclass of Moose::Meta::Class.")
         unless $metaclass->isa('Moose::Meta::Class');