package Catalyst;
use Moose;
-extends 'Catalyst::Component';
+extends 'Catalyst::Component', 'Class::Accessor::Fast';
use Moose::Util qw/find_meta/;
use bytes;
use Scope::Upper ();
# Remember to update this in Catalyst::Runtime as well!
-our $VERSION = '5.80001';
+our $VERSION = '5.80002';
{
my $dev_version = $VERSION =~ /_\d{2}$/;
}
# 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
# applying modifiers).
Scope::Upper::reap(sub {
my $meta = Class::MOP::get_metaclass_by_name($class);
- $meta->make_immutable unless $meta->is_immutable;
+ $meta->make_immutable(replace_constructor => 1) unless $meta->is_immutable;
}, Scope::Upper::SCOPE(1));
$class->setup_finalize;