make extends after has work
[gitmo/Moo.git] / lib / Moo.pm
index ff1e20d..1f6300d 100644 (file)
@@ -20,6 +20,11 @@ sub import {
     _load_module($_) for @_;
     # Can't do *{...} = \@_ or 5.10.0's mro.pm stops seeing @ISA
     @{*{_getglob("${target}::ISA")}{ARRAY}} = @_;
+    if (my $old = delete $Moo::MAKERS{$target}{constructor}) {
+      delete _getstash($target)->{new};
+      Moo->_constructor_maker_for($target)
+         ->register_attribute_specs(%{$old->all_attribute_specs});
+    }
   };
   _install_coderef "${target}::with" => sub {
     require Moo::Role;