lib/PublicInbox/Inbox.pm | 6 ++++-- diff --git a/lib/PublicInbox/Inbox.pm b/lib/PublicInbox/Inbox.pm index 3f1b7334f01109343a1b1723c165f6d5bbe5b299..34191fc79508f04ff9ce00cc3782333dd1c033bf 100644 --- a/lib/PublicInbox/Inbox.pm +++ b/lib/PublicInbox/Inbox.pm @@ -5,7 +5,7 @@ # Represents a public-inbox (which may have multiple mailing addresses) package PublicInbox::Inbox; use strict; use warnings; -use Scalar::Util qw(weaken); +use Scalar::Util qw(weaken isweak); use PublicInbox::Git; use PublicInbox::MID qw(mid2path); @@ -19,7 +19,9 @@ } sub weaken_all { my ($self) = @_; - weaken($self->{$_}) foreach qw(git mm search); + foreach my $f (qw(git mm search)) { + isweak($self->{$f}) or weaken($self->{$f}); + } } sub git {