In Moose
package Foo {
use Moose;
has hello => ( is => 'ro' );
sub hello { }
}
=> You are overwriting a locally defined method (hello) with an accessor
In Mouse
package Foo {
use Mouse;
has hello => ( is => 'ro' );
sub hello { }
}
=> No warning and error
I guess Mouse should warn in such case.