Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the Mouse CPAN distribution.

Report information
The Basics
Id: 70569
Status: resolved
Priority: 0/
Queue: Mouse

People
Owner: Nobody in particular
Requestors: erez.schatz [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 0.93
Fixed in: (no value)



Subject: Prototype mismatch: sub Mouse::Util::get_linear_isa ($;$) vs none at Mouse/Util.pm line 131
in Mouse::Utils, there is a check for mro, which is in perl 5.10, but not in earlier perls, using 'if (eval { require mro })' this in perl 5.8.x returns true and as result attempts to assign get_linear_isa($;$) to \&mro::get_linear_isa which does not exists on perl 5.8.x, throwing the warning in the bug, which means that usage of Mouse::Util::get_linear_isa is using an undef sub. Changing the check to "if (eval { require 'mro' })" resolves this issue.
On Mon Aug 29 02:17:36 2011, erez wrote: Show quoted text
> [...] > Changing the check to "if (eval { require 'mro' })" resolves this issue.
Adding a patch, hoping it will get it fixed sooner. :)
Subject: mouse-get_linear_isa.patch
--- Mouse-0.93/lib/Mouse/Util.pm 2011-05-16 18:23:52.000000000 +0300 +++ Mouse-patched/lib/Mouse/Util.pm 2011-09-05 13:03:32.743024405 +0300 @@ -80,7 +80,7 @@ # definition of mro::get_linear_isa() my $get_linear_isa; - if (eval { require mro }) { + if (eval { require 'mro' }) { $get_linear_isa = \&mro::get_linear_isa; } else {
This happened in 5.8 when MRO::Compat is loaded before Mouse. Resolved at b2571a4be42103261fe21bc843069784f99359ae (will 0.94) -- Goro Fuji (gfx) GFUJI at CPAN.org