# Remember to update this in Catalyst::Runtime as well!
-our $VERSION = '5.80002';
+our $VERSION = '5.80003';
{
my $dev_version = $VERSION =~ /_\d{2}$/;
# modifiers work correctly in MyApp (as you have to call setup _before_
# applying modifiers).
Scope::Upper::reap(sub {
+ die $@ if $@; # This does not appear to do what you think it does.
my $meta = Class::MOP::get_metaclass_by_name($class);
+ if ( $meta->is_immutable && ! { $meta->immutable_options }->{inline_constructor} ) {
+ die "You made your application class ($class) immutable, "
+ . "but did not inline the constructor.\n"
+ . "This will break catalyst, please pass "
+ . "(replace_constructor => 1) when making your class immutable.\n";
+ }
$meta->make_immutable(replace_constructor => 1) unless $meta->is_immutable;
}, Scope::Upper::SCOPE(1));
=cut
sub _controller_init_base_classes {
- my ($class, $component) = @_;
+ my ($app_class, $component) = @_;
foreach my $class ( reverse @{ mro::get_linear_isa($component) } ) {
Moose->init_meta( for_class => $class )
unless find_meta($class);