Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the Devel-StackTrace CPAN distribution.

Report information
The Basics
Id: 26139
Status: resolved
Priority: 0/
Queue: Devel-StackTrace

People
Owner: Nobody in particular
Requestors: FDALY [...] cpan.org
Cc:
AdminCc:

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



Subject: it calls ->isa on packages that are not classes
This came up because Test::Deep defines and by default exports &isa. Test::Deep is not a class and its functions are not designed to be used as methods. In particular, &isa is not expecting to be called as a method and since it returns an object reference, it is always true. Devel::StackTrace tests all packages in the stack with ->isa including those that are not classes. I can't think of a nice way way to avoid this while preserving the "skip descendants of these classes" functionality so I won't be terribly surprised if you close this as will not fix.
On Fri Apr 06 14:49:39 2007, FDALY wrote: Show quoted text
> > Devel::StackTrace tests all packages in the stack with ->isa including > those that are not classes. I can't think of a nice way way to avoid > this while preserving the "skip descendants of these classes" > functionality so I won't be terribly surprised if you close this as will > not fix.
I can't really think of a good solution for this myself, so unless you have a solution I'm going to close this ticket.
Subject: Re: [rt.cpan.org #26139] it calls ->isa on packages that are not classes
Date: Mon, 23 Apr 2007 07:29:34 -0700
To: bug-Devel-StackTrace [...] rt.cpan.org
From: "Fergal Daly" <fergal [...] esatclear.ie>
The only thing I could think of was to do this package exclusion based not on what's returned by caller() but by calling isa on the first argument but that's kinda sucky as it needs to be guarded by can() or wrapped in eval. This might cause problems for people who call methods as functions (or put functions in the same package as methods). I'm not too bothered really.