# This file documents the revision history for Perl extension Catalyst.
+ - Fix issues with restarting the application class due to C3 failures
+ on perl 5.10 (t0m)
- Work around issues in Moose with initialization order of multiple
levels of non-Moose classes inheriting from a Moose class (t0m)
- Test for this
}
# Call plugins setup, this is stupid and evil.
+ # Also screws C3 badly on 5.10, hack to avoid.
{
no warnings qw/redefine/;
local *setup = sub { };
- $class->setup;
+ $class->setup unless $Catalyst::__AM_RESTARTING;
}
# Initialize our data structure
my $is_immutable = $meta->can('is_immutable');
my $make_mutable = $meta->can('make_mutable');
$meta->$make_mutable() if $is_immutable && $make_mutable && $meta->$is_immutable();
+ eval { # Do not explode the watcher process if this fails.
+ my $superclasses = $meta->can('superclasses');
+ $meta->$superclasses('Moose::Object') if $superclasses;
+ };
}
});
}
+ local $Catalyst::__AM_RESTARTING = 1; # Hack to avoid C3 fail
delete $INC{$file}; # Remove from %INC so it will reload
local $SIG{__WARN__} = sub { };