fix instance application not passing along role args (lsm)
[gitmo/Moose.git] / lib / Moose / Meta / Role.pm
index caad021..4e63f63 100644 (file)
@@ -9,7 +9,7 @@ use Scalar::Util 'blessed';
 use Carp         'confess';
 use Devel::GlobalDestruction 'in_global_destruction';
 
-our $VERSION   = '0.94';
+our $VERSION   = '1.01';
 $VERSION = eval $VERSION;
 our $AUTHORITY = 'cpan:STEVAN';
 
@@ -399,7 +399,7 @@ sub alias_method {
 ## ------------------------------------------------------------------
 
 sub apply {
-    my ($self, $other, @args) = @_;
+    my ($self, $other, %args) = @_;
 
     (blessed($other))
         || Moose->throw_error("You must pass in an blessed instance");
@@ -416,7 +416,7 @@ sub apply {
     }
 
     Class::MOP::load_class($application_class);
-    return $application_class->new(@args)->apply($self, $other);
+    return $application_class->new(%args)->apply($self, $other, \%args);
 }
 
 sub composition_class_roles { }
@@ -879,7 +879,7 @@ object, then add it to the required method list.
 
 =head2 Method modifiers
 
-These methods act like their counterparts in L<Class::Mop::Class> and
+These methods act like their counterparts in L<Class::MOP::Class> and
 L<Moose::Meta::Class>.
 
 However, method modifiers are simply stored internally, and are not