On Thu, 15 Feb 2018 10:32:28 -0800, zefram@fysh.org wrote: > I wrote: > >The test is erroneous in using all keys it finds as method names. > >It should skip ones that aren't syntactically OK. > > Reported as [rt.cpan.org #124441]. > > >The edit to Carp is also arguably faulty. > > Fixed in commit 682f3ac7d3c98fe1aa251a2e30684eeb7b859a0e. In that commit you avoid vivifying the UNIVERSAL stash, but then assume that &UNIVERSAL::isa is defined anyway. The code carefully uses _fetch_sub, which is designed for fetching a sub that may not even exist, but then assumes that it will return something callable. Why do we need to avoid vivifying the UNIVERSAL stash (and its isa glob)? I understand not vivifying utf8, because that causes problems on 5.6, and I understand not vivifying stashes we don’t need, but the UNIVERSAL stash is always there. I ask because it would take less code (and Carp would load faster), if we could skip checking whether $::{"UNIVERSAL::"} exists and just use it. (Note: None of this applies to $UNIVERSAL::{"isa::"}, which I understand we should not vivify.) -- Father Chrysostomos --- via perlbug: queue: perl5 status: open https://rt.perl.org/Ticket/Display.html?id=132788Thread Previous