$curry::weak = sub {
my ($invocant, $code) = splice @_, 0, 2;
- Scalar::Util::weaken($invocant) if Scalar::Util::blessed($invocant);
+ Scalar::Util::weaken($invocant) if length ref $invocant;
my @args = @_;
sub {
return unless defined $invocant;
sub AUTOLOAD {
my $invocant = shift;
- Scalar::Util::weaken($invocant) if Scalar::Util::blessed($invocant);
+ Scalar::Util::weaken($invocant) if length ref $invocant;
my ($method) = our $AUTOLOAD =~ /^curry::weak::(.+)$/;
my @args = @_;
return sub {