Hi all, I was trying to add MooseX::Role::Warnings to MooseX::Role::Strict only to find that tests now fail due to a behavior change. Specifically, the cause is this:
#!/usr/bin/env perl use Modern::Perl; { package My::Role; use Moose::Role; sub foo { } } { package My::Class; use Moose; with 'My::Role'; } foreach my $role ( @{My::Class->meta->roles} ) { my $name = $role->name; foreach my $method ( $role->get_method_list ) { say "$name - $method"; } } __END__ My::Role - meta My::Role - foo The method 'meta' is now the method list for the role. As of .075, this was not true. I assume this new behavior is intended? I'm trying to think of the best to handle this. MooseX::Role::Warnings will be intended to offer warnings (rather than being fatal) if a class provides a method that overrides a role method without explicitly listing this method as excluded from the role. (I know that not everyone likes this, that's not what I'm trying to get consensus on :) Cheers, Ovid -- Buy the book - http://www.oreilly.com/catalog/perlhks/ Tech blog - http://use.perl.org/~Ovid/journal/ Twitter - http://twitter.com/OvidPerl Official Perl 6 Wiki - http://www.perlfoundation.org/perl6