tobyink / p5-moops

16 stars 4 forks source link

Method name conflict error displayed instead of module import error message #9

Open tobyink opened 3 years ago

tobyink commented 3 years ago

Migrated from rt.cpan.org #100650 (status was 'new')

Requestors:

From sauber@cpan.org on 2014-12-02 00:16:50 :

Take the following minimal example:

~$ cat -n BB.pm ; cat -n C.pm ; cat -n M.pm 1 use Moops; role BB { } 1 1 use Moops; role C {} 1 1 use Moops; 2 class M { 3 has m => ( is=>'ro', isa=>'MongoDB::Cursor' ); 4 with qw(C BB); 5 } ~$ perl -c M.pm Due to a method name conflict between roles 'BB and C', the method 'before' must be implemented by 'M' Due to a method name conflict between roles 'BB and C', the method 'fun' must be implemented by 'M' Due to a method name conflict between roles 'BB and C', the method 'multi' must be implemented by 'M' Due to a method name conflict between roles 'BB and C', the method 'method' must be implemented by 'M' Due to a method name conflict between roles 'BB and C', the method 'after' must be implemented by 'M' Due to a method name conflict between roles 'BB and C', the method 'around' must be implemented by 'M' at /usr/local/share/perl/5.20.1/Role/Tiny.pm line 212. BEGIN failed--compilation aborted at M.pm line 5. ~$

I'm not entirely sure what the real underlying error is, but the error messages displayed is irrelevant. Depending on which module is referred to in isa=>'' either this error message or no error message is displayed, but I can't identify the pattern.