Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • I'm not saying that Moose::Role is behaving in error here. I'm saying there's a detectable error condition and a better error message would help.

    How would I tell the difference between a error borne from side-effects and one that I could directly trace back to a mis-use of the feature?

    When applying a role at runtime, by noting Perl's recursive inheritance limit (98 role applications on my Solaris box) and issuing a reasonable error reporting the package/file/line number of role application, it would have been trivial for me to find the source error. Currently this error wins my personal "most obscure error message" award :)

    Deep recursion on subroutine "MRO::Compat::__get_linear_isa_dfs" at /home/poec01/branches/tagging/deps/lib/perl5/MRO/Compat.pm line 123.
    Deep recursion on subroutine "Class::MOP::Class::class_precedence_list" at /home/poec01/branches/tagging/deps/lib/perl5/i86pc-solaris-thread-multi/Class/MO P/Class.pm line 602.
    Deep recursion on subroutine "MRO::Compat::__get_linear_isa_dfs" at /home/poec01/branches/tagging/deps/lib/perl5/MRO/Compat.pm line 123.
    Deep recursion on subroutine "MRO::Compat::__get_linear_isa_dfs" at /home/poec01/branches/tagging/deps/lib/perl5/MRO/Compat.pm line 123.
    Deep recursion on subroutine "MRO::Compat::__get_linear_isa_dfs" at /home/poec01/branches/tagging/deps/lib/perl5/MRO/Compat.pm line 123.
    Deep recursion on subroutine "MRO::Compat::__get_linear_isa_dfs" at /home/poec01/branches/tagging/deps/lib/perl5/MRO/Compat.pm line 123.
    Deep recursion on subroutine "Class::MOP::Class::class_precedence_list" at /home/poec01/branches/tagging/deps/lib/perl5/i86pc-solaris-thread-multi/Class/MO P/Class.pm line 602.
    Deep recursion on subroutine "MRO::Compat::__get_linear_isa_dfs" at /home/poec01/branches/tagging/deps/lib/perl5/MRO/Compat.pm line 123.
    Recursive inheritance detected while looking for method '()' in package 'Moose::Object' at /home/poec01/branches/tagging/deps/lib/perl5/i86pc-solaris-thread-multi/Class/MO P/Instance.pm line 157.
    Recursive inheritance detected while looking for method '()' in package 'Moose::Object'.