On 19.03.2010 19:38, Jesse Luehrs wrote:
> On Fri, Mar 19, 2010 at 06:32:36PM +0000, Ævar Arnfjörð Bjarmason wrote:
>> On Fri, Mar 19, 2010 at 18:28, Jesse Luehrs <[email protected]> wrote:
>>> Um... did you actually try to run this code? Because it already does
>>> exactly what you are trying to do.
>>
>> Actually it doesn't.
>>
>> I'm guessing that the problem here is that he's calling A->extends()
>> in the B package instead of extends("A");
> 
> Which causes perl to die with a recursive inheritance error (since
> A->extends() is equivalent to A::extends('A')), so I'm assuming that his
> actual code isn't doing that.

I assume that the solution is to change A into this:

package A;
use Moose;
no Moose; # <-- Added this
1;

With that in place the call to A->extends() would fail with an invalid
method call during runtime.

But 'no Moose' isn't mandatory, as far as I know, which means that his
example seems to be a good test case for a really obscure edge case.

-- Robin

Reply via email to