You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jun 1, 2023. It is now read-only.
{
package ISACLEAR;
our @ISA = qw/XX YY ZZ/;
}
# baseline
ok(eq_array(mro::get_linear_isa('ISACLEAR'),[qw/ISACLEAR XX YY ZZ/]));
# this looks dumb, but it preserves existing behavior for compatibility
# (undefined @ISA elements treated as "main")
# This revealed a c3 bug (undetected since 2007)
$ISACLEAR::ISA[1] = undef;
ok(eq_array(mro::get_linear_isa('ISACLEAR'),[qw/ISACLEAR XX main ZZ/]))
or diag "'".join("' '",@{mro::get_linear_isa('ISACLEAR')})."'";
=>
'ISACLEAR' 'XX' 'main' 'ZZ' with dfs
'ISACLEAR' 'XX' 'main' '' 'ZZ' with c3.
Note the empty entry after the inserted/changed main. YY => main.
This problem existed since 2007, the initial c3 implementation. It was never tested.