unless ( ($slot->{cumulative_gen}||0) == $my_gen ) {
- # remove ourselves from ISA
- shift @full_ISA;
-
# reset
%$slot = (
class => $class,
- isa => [
+ isa => { map { $_ => 1 } @full_ISA },
+ linear_isa => [
@{ $mro_recursor_stack->{cache}{$stack_cache_key}{linear_isa} }
[ 1 .. $#{$mro_recursor_stack->{cache}{$stack_cache_key}{linear_isa}} ]
],
cumulative_gen => $my_gen,
);
+ # remove ourselves from ISA
+ shift @full_ISA;
+
# ensure the cache is populated for the parents, code below can then
# efficiently operate over the query_cache directly
describe_class_methods($_) for reverse @full_ISA;