oops
[gitmo/Moose.git] / lib / Moose / Role.pm
index 7a22a35..48e40b7 100644 (file)
@@ -4,6 +4,7 @@ use warnings;
 
 use Scalar::Util 'blessed';
 use Carp         'croak';
+use Class::Load  'is_class_loaded';
 
 use Sub::Exporter;
 
@@ -106,6 +107,9 @@ sub init_meta {
     my $metaclass = $args{metaclass} || "Moose::Meta::Role";
     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::Role.")
         unless $metaclass->isa('Moose::Meta::Role');