my $self = shift;
return $self->SUPER::can(@_) || do {
my ($method) = @_;
- if (not $self->_user) {
+ if (not ref $self) {
+ undef;
+ } elsif (not $self->_user) {
undef;
} elsif (my $code = $self->_user->can($method)) {
sub { shift->_user->$code(@_) }
(my $method) = (our $AUTOLOAD =~ /([^:]+)$/);
return if $method eq "DESTROY";
+ return unless ref $self;
+
if (my $code = $self->_user->can($method)) {
return $self->_user->$code(@_);
}