module_name => 'Moose',
license => 'perl',
requires => {
- 'Scalar::Util' => '1.18',
- 'Carp' => '0',
- 'Class::MOP' => '0.21',
- 'Sub::Name' => '0.02',
+ 'Scalar::Util' => '1.18',
+ 'Carp' => '0',
+ 'Class::MOP' => '0.21',
+ 'Sub::Name' => '0.02',
+ 'UNIVERSAL::require' => '0'
},
optional => {
},
use Carp 'confess';
use Sub::Name 'subname';
+use UNIVERSAL::require;
+
use Class::MOP;
use Moose::Meta::Class;
# will not name it with
# handle superclasses
- $meta->alias_method('extends' => subname 'Moose::extends' => sub { $meta->superclasses(@_) });
+ $meta->alias_method('extends' => subname 'Moose::extends' => sub {
+ $_->require for @_;
+ $meta->superclasses(@_)
+ });
# handle mixins
$meta->alias_method('with' => subname 'Moose::with' => sub { $meta->mixin($_[0]) });