starting from the deepest tc isn't necessary
[gitmo/Moose.git] / lib / Moose.pm
index e090be4..ecba98c 100644 (file)
@@ -6,6 +6,8 @@ use 5.008;
 
 use Scalar::Util 'blessed';
 use Carp         'confess';
+use Class::Load  'is_class_loaded';
+
 
 use Moose::Deprecated;
 use Moose::Exporter;
@@ -141,6 +143,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 is_class_loaded($metaclass);
+
     Moose->throw_error("The Metaclass $metaclass must be a subclass of Moose::Meta::Class.")
         unless $metaclass->isa('Moose::Meta::Class');