Open tobyink opened 3 years ago
From perl@toby.ink on 2020-12-26 23:28:28 :
It's caused by using:
Num $gain = $self->config->{ FAME }->{ DEFAULT_BUMP }
In one of your signatures. Zydeco needs to do some pretty nasty stuff to figure out what $self is because at the time defaults are evaluated, $self isn't in scope.
I really need to find a better solution for this.
From smonff@cpan.org on 2021-01-08 16:29:28 :
It's caused by using:
Num $gain = $self->config->{ FAME }->{ DEFAULT_BUMP }
In one of your signatures. Zydeco needs to do some pretty nasty stuff to figure out what $self is because at the time defaults are evaluated, $self isn't in scope.
I really need to find a better solution for this.
Is it "normal" that adding PadWalker as a dependency "solve" the problem?
I tried to take advantage of the implicit declaration of $self that seemed to be an acceptable possibility from what I understood. It looks quite surprising that it can be this way, but why not? Even if some error messages are a bit difficult to target, Zydeco is still fun to use.
For some issues I encountered, including this one, I just required the use of a Perl > 5.24.0. Seems like quite rude, but I don't think this experiment I do will be reused by many people ^^.
From perl@toby.ink on 2021-01-09 21:37:53 :
Yeah, Zydeco should probably have a dependency on PadWalker for this, but even better would be to fix things so Zydeco doesn't need to use PadWalker for it.
Migrated from rt.cpan.org #133926 (status was 'open')
Requestors:
From smonff@cpan.org on 2020-12-20 21:14:43 :
Hi,
Reporting a possible missing dependency: PadWalker.
While testing my Art::World module (largely based on Zydeco) in CPANTesters or on Gitlab-CI, I experiment a missing PadWalker dependency message and a fail of all tests.
https://gitlab.com/smonff/art-world/-/jobs/923576336
Can't say if it is coming from Zydeco or from an upper level, but the main information I have is:
Error: Can't locate PadWalker.pm in @INC (you may need to install the
PadWalker module) (@INC contains: /builds/smonff/art-world/lib /builds/smonff/art-world/local/lib/perl5/5.32.0/x86_64-linux-gnu etc.) at /builds/smonff/art-world/local/lib/perl5/Zydeco.pm line 847.
This precise 847 line in Zydeco.pm is "requiring" PadWalker, so I guess it is a start...
If I had PadWalker to the dependencies of my project, everything is fine. Looks like it has been removed from someone else's dependencies, maybe? Or, I started to use some features of Zydeco requiring the use of PadWalker, but my understanding of Zydeco's internal code is a bit limited to go further about this.
Thanks and happy Christmas!