Make Mouse::Util::load_class return the argument class name, which can remove several...
[gitmo/Mouse.git] / lib / Mouse / Meta / Attribute.pm
index c1cb2fe..315eaa4 100644 (file)
@@ -335,6 +335,12 @@ sub install_accessors{
         $attribute->create($metaclass, $attribute->name, %{$attribute});
     }
 
+    if(!$attribute->{associated_methods} && ($attribute->{is} || '') ne 'bare'){
+        Carp::cluck(
+            'Attribute (' . $attribute->name . ') of class ' . $metaclass->name
+            . ' has no associated methods (did you mean to provide an "is" argument?)');
+    }
+
     return;
 }
 
@@ -372,10 +378,8 @@ sub _canonicalize_handles {
 
 sub _make_delegation_method {
     my($self, $handle, $method_to_call) = @_;
-    my $delegator = $self->delegation_metaclass;
-    Mouse::Util::load_class($delegator);
-
-    return $delegator->_generate_delegation($self, $handle, $method_to_call);
+    return Mouse::Util::load_class($self->delegation_metaclass)
+        ->_generate_delegation($self, $handle, $method_to_call);
 }
 
 sub throw_error{
@@ -394,7 +398,7 @@ Mouse::Meta::Attribute - The Mouse attribute metaclass
 
 =head1 VERSION
 
-This document describes Mouse version 0.50
+This document describes Mouse version 0.50_03
 
 =head1 METHODS