Hugo van der Sanden
Hugo van der Sanden
> `sub foo { return $_[0]->{foo} }` A similar one that I have often seen is `{ shift->{foo} }`, and in all cases with or without an explicit `return`.
FWIW I gave up on doing this with forking Perl code, instead implemented C code inspired by https://github.com/danaj/Math-Prime-Util-GMP/pull/30 that tests a set of numbers in parallel (testing whether divisors(n_i) ==...
Also reported to the bignum queue as https://rt.cpan.org/Ticket/Display.html?id=141772
Confirmed that it's caused by the upgrade to bignum-0.64.
Ah, from the [https://metacpan.org/dist/bignum/changes](changelog) at v0.60: ``` - The bignum pragma now converts every numeric constant to a Math::BigFloat object. ```
Digging a bit more, I find that it is actually hanging in `_powmod`, because we enter it (from `_miller_rabin_2`) with `$power` a large bigfloat. As such, the `$power >>= 1`...
Arguably a/the bug here is actually `Math::BigFloat`'s handling of `>>`. Perl's native floats always yield integers on `>>`.
@danaj I hope you have a chance to look at this and decide on a course of action. Currently, the test suite will hang only for people that have upgraded...
> One option is to revert the changes in `bignum`, so that `bignum` upgrades and downgrades as before, and instead introduce a new pragma called `bigflt` (or `bigfloat`) which converts...
@danaj @pjacklam It's gone rather quiet on this, is there an expectation that we'll be able to release some sort of fix for this before the perl-5.36 release due in...