This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #114864] Make UNIVERSAL::DESTROY changes invalidate caches
authorFather Chrysostomos <sprout@cpan.org>
Sun, 18 Aug 2013 06:58:47 +0000 (23:58 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Sun, 18 Aug 2013 06:58:47 +0000 (23:58 -0700)
commitc716b3beb77406159d18fd52251821fee641f9fc
treeb3304d82ae5b06d3fb56209a905aaf1554e33599
parentbe9260535f65befe9615312821574755a8d04344
[perl #114864] Make UNIVERSAL::DESTROY changes invalidate caches

Commit 8c34e50d inadvertently caused DESTROY caches not to be
reset when UNIVERSAL::DESTROY changes.  Normally, a change to
a method will cause mro_method_changed_in to be called on all
subclasses, but mro.c cheats for UNIVERSAL and just does
++PL_sub_generation.  So clearing the DESTROY cache explicitly
in mro_method_changed_in is clearly not enough.
hv.h
sv.c
t/mro/basic.t