Today's assertion failure on Perl5.10.1

Perl5.10.1 をメインでつかっているのだが、あいかわらずすげー微妙なエッジケースにバグがある。5.8.9 よりもやはりバグを踏む可能性がちとたかい。とはいえ、すげーくさいところなので、普通の人はまず踏まないとおもうけど。

今日ふんだのはこんなの。「そんなことする方が悪い」のだが、Assertion failed で落ちるのはバグなので、perlbug っといた。

なおこれ perl5.10 だと segv するが、perl5.10.1 だと assertion failure で、perl5.8.9 だと no problem だった。

use 5.008001;
{

    package ClassB;
    sub DESTROY { }
}
{

    package ClassA;
    our @ISA = qw(ClassB);
    *DESTROY = *ClassB::DESTROY;
    delete @{'ClassB::'}{"DESTROY"};

    bless *STDIN{IO}, "ClassA";
}

Faster.pm をいじってるときに踏んだから、なんか Faster.pm のバグだろうとおもって検討ちがいなところを調べまくって無駄に時間つかってもうた。f

Published: 2010-02-07(Sun) 15:53