Skip Menu |
 

This queue is for tickets about the MooseX-Method-Signatures CPAN distribution.

Report information
The Basics
Id: 56851
Status: new
Priority: 0/
Queue: MooseX-Method-Signatures

People
Owner: Nobody in particular
Requestors: philip.g.potter [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.30
Fixed in: (no value)



Subject: Confusing error messages caused by references to undefined variables
Download (untitled) / with headers
text/plain 1007b
MooseX::Method::Signatures comes out with a strange error when you have references to undefined variables. Here is some example code to explain: # foo.pm package Foo; use Moose; use MooseX::Method::Signatures; method broken { $undefined; } method id(Int :$foo) { return $foo; } 1; __END__ #foo.pl #!/usr/bin/perl use strict; use warnings; use Foo; my $test = Foo->new; print $test->id(foo => 3); __END__ There is a bug: the method Foo::broken contains a reference to the undefined variable $undefined. But the error message I get is: ')' expected whilst parsing signature near 'Int :' in 'Int :$foo' at D:/strawberry/perl/site/lib/MooseX/Method/Signatures/Meta/Method.pm line 209 Compilation failed in require at foo.pl line 6. BEGIN failed--compilation aborted at foo.pl line 6. Rather than complain about the undefined variable, it complains about the method signature. (Commenting out the $undefined; line causes the code to execute successfully, with no problems in the signature.)
Subject: foo.pm
Download foo.pm
text/x-perl 151b
package Foo; use Moose; use MooseX::Method::Signatures; method broken { $undefined; } method id(Int :$foo) { return $foo; } 1;
Subject: foo.pl
Download foo.pl
text/x-perl 114b
#!/usr/bin/perl use strict; use warnings; use Foo; my $test = Foo->new; print $test->id(foo => 3);


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.