Deprecate the Role type
Dave Rolsky [Wed, 14 Jul 2010 16:22:23 +0000 (11:22 -0500)]
lib/Moose/Deprecated.pm
lib/Moose/Util/TypeConstraints/OptimizedConstraints.pm

index d2db110..a51f072 100644 (file)
@@ -10,6 +10,7 @@ our $AUTHORITY = 'cpan:STEVAN';
 use Package::DeprecationManager -deprecations => {
     'pre-0.94 MetaRole API'       => '0.93',
     'Moose::Exporter with_caller' => '0.89',
+    'Role type'                   => '0.84',
     },
     -ignore => [qw( Moose Moose::Exporter Moose::Util::MetaRole )],
     ;
index 55662ee..b0ece33 100644 (file)
@@ -36,7 +36,14 @@ sub FileHandle { ref($_[0]) eq 'GLOB' && Scalar::Util::openhandle($_[0]) or bles
 
 sub Object { blessed($_[0]) && blessed($_[0]) ne 'Regexp' }
 
-sub Role { Carp::cluck('The Role type is deprecated.'); blessed($_[0]) && $_[0]->can('does') }
+sub Role {
+    Moose::Deprecated::deprecated(
+        feature => 'Role type',
+        message =>
+            'The Role type has been deprecated. Maybe you meant to create a RoleName type?'
+    );
+    blessed( $_[0] ) && $_[0]->can('does');
+}
 
 sub ClassName {
     return Class::MOP::is_class_loaded( $_[0] );