perl5
perl5 copied to clipboard
Pass clone parameter to CLONE methods as a UV
Any CLONE method that needs to call sv_clone() and friends needs to pass this on as an argument.
On older releases such an argument would not be passed, so they would need to take it as an optional argument to work in both cases. E.g.
void CLONE(SV* classname, UV uv_params = 0)
CODE:
CLONE_PARAMS* params = INT2PTR(params);
That means this change can break XS modules not taking the extra argument into account. Fortunately most modules have cargo-culted a CLONE(...) from perlxs so they're safe from this change. A quick grep suggests only four CPAN dists are affected such, Data::UUID, Net::LDNS, GObject, and Zonemaster::LDNS
- This set of changes requires a perldelta entry, and I'll write it for 5.43 because adding it now will only cause merge conflicts.