Subject: | Some circular references within Method::Generate::Constructor objects |
Found some circular references:
Cycle:
$SZ->{'Method::Generate::Constructor(101486440)'} => \%Method::Generate::Constructor::TA
$Method::Generate::Constructor::TA->{'deferred_constructor'} => \&TB
$TB variable $deferred_info => \$TC
$$TC => \@TD
$TD->[1] => \&TE
$TE variable $self => \$TF
$$TF => \%Method::Generate::Constructor::TA
Cycle:
$SZ->{'Method::Generate::Constructor(101486440)'} => \%Method::Generate::Constructor::TA
$Method::Generate::Constructor::TA->{'deferred_constructor'} => \&TB
$TB variable $deferred_info => \$TC
$$TC => \@TD
$TD->[2] => \$TG
$$TG => \&TH
$TH variable $_UNQUOTED => \$TI
$$TI => \$TJ
$$TJ => \&TH
Cycle:
$SZ->{'Method::Generate::Constructor(101486440)'} => \%Method::Generate::Constructor::TA
$Method::Generate::Constructor::TA->{'deferred_constructor'} => \&TB
$TB variable $undeferred => \$TG
$$TG => \&TH
$TH variable $_UNQUOTED => \$TI
$$TI => \$TJ
$$TJ => \&TH
The first one appears to be from Method::Generate::Constructor->install_delayed creating a $self->{deferred_constructor} sub, and then also referencing $self as a closure within that sub.
Not sure about the $_UNQUOTED one.