X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMethod%2FGenerate%2FAccessor.pm;h=88e38a35864a4b4e01bc25bd505ecade1da28962;hb=30613a658f1d3d6b5e9fc85b4c3b13d3b3a3d47e;hp=01acab8919c00dcea67a9f4ab335528737049b58;hpb=0b0cbc974376d0689be889cbc5af8b980d18fc7c;p=gitmo%2FMoo.git diff --git a/lib/Method/Generate/Accessor.pm b/lib/Method/Generate/Accessor.pm index 01acab8..88e38a3 100644 --- a/lib/Method/Generate/Accessor.pm +++ b/lib/Method/Generate/Accessor.pm @@ -45,14 +45,9 @@ sub generate_method { } if (exists $spec->{default}) { my $default = $spec->{default}; - unless (ref $default) { - die "Invalid default $default"; - } - if (ref $default ne 'CODE') { - unless (eval { \&$default }) { - die "Invalid default $default"; - } - } + # default can be either a coderef or an overloaded object + die "Invalid default $default" unless ref $default + and ( ref $default eq 'CODE' or eval { \&$default } ); } my %methods;