Skip Menu |

This queue is for tickets about the Moo CPAN distribution.

Report information
The Basics
Id: 109628
Status: resolved
Priority: 0/
Queue: Moo

People
Owner: Nobody in particular
Requestors: BBYRD [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 2.000002
Fixed in: (no value)



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.
On Tue Nov 24 18:46:20 2015, BBYRD wrote: Show quoted text
> 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.
This should be fixable with some weakens in the correct spots. What did you use to detect this, so I can replicate it easily?
This should be fixed in the repo.
Resolved in Moo 2.001000