summaryrefslogtreecommitdiffstats
path: root/lib/MooseX/ABC/Trait/Class.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/MooseX/ABC/Trait/Class.pm')
-rw-r--r--lib/MooseX/ABC/Trait/Class.pm5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/MooseX/ABC/Trait/Class.pm b/lib/MooseX/ABC/Trait/Class.pm
index 70e0c0e..afa4323 100644
--- a/lib/MooseX/ABC/Trait/Class.pm
+++ b/lib/MooseX/ABC/Trait/Class.pm
@@ -58,6 +58,11 @@ around _immutable_options => sub {
&& $constructor->get_original_method == Class::MOP::class_of('Moose::Object')->get_method('new')) {
push @options, replace_constructor => 1;
}
+ # if our parent has been inlined and we have no required methods, then it's
+ # safe to inline ourselves
+ elsif ($constructor->isa('Moose::Meta::Method::Constructor')) {
+ push @options, replace_constructor => 1;
+ }
return @options;
};