Skip Menu |

This queue is for tickets about the UNIVERSAL-can CPAN distribution.

Report information
The Basics
Id: 31709
Status: rejected
Priority: 0/
Queue: UNIVERSAL-can

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

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



Subject: UNIVERSAL::can killed Template::Timer
We've been forced to stub out UNIVERSAL::can due to the following bug: $ perl -MUNIVERSAL::can -w -e 'use Template::Timer' Died at /home/poec01/branches/envscript/deps/perl5lib//Template/Timer.pm line 63. Compilation failed in require at -e line 1. BEGIN failed--compilation aborted at -e line 1. The offending line from Template::Timer (with the less than helpful error message): my $super = __PACKAGE__->can("SUPER::$sub") or die; Cheers, Ovid
From: chromatic [...] wgz.org
On Wed Dec 19 11:28:06 2007, OVID wrote: Show quoted text
> We've been forced to stub out UNIVERSAL::can due to the following bug: > > $ perl -MUNIVERSAL::can -w -e 'use Template::Timer' > Died at > /home/poec01/branches/envscript/deps/perl5lib//Template/Timer.pm line 63. > Compilation failed in require at -e line 1. > BEGIN failed--compilation aborted at -e line 1. > > The offending line from Template::Timer (with the less than helpful > error message): > > my $super = __PACKAGE__->can("SUPER::$sub") or die;
I don't believe that's a bug in UNIVERSAL::can; it looks like a bug in Template::Timer to me. Why do you expect a method named "SUPER::$sub" to exist? SUPER:: is just a hint to the dispatcher. It's not part of any method name at all. I suspect that code should rather be: my $super = __PACKAGE__->can( $sub ) or die; That succeeds just fine with UNIVERSAL::can 1.12 and 1.13_001. -- c
This is not a bug in U::c.