> On 20 May 2017, at 13:20, mt1957 (via RT) <perl6-bugs-follo...@perl.org> 
> wrote:
> 
> # New Ticket Created by  mt1957 
> # Please include the string:  [perl #131333]
> # in the subject line of all future correspondence about this issue. 
> # <URL: https://rt.perl.org/Ticket/Display.html?id=131333 >
> 
> 
> in perl version 2017.04.3-287-g3e7675a built on MoarVM version 
> 2017.04-64-g6d5ea04
> implementing Perl 6.c I see the following error;
> 
> 
> t/120-Decimal128.t .. ===SORRY!=== Error while compiling 
> /home/marcel/Languages/Perl6/Projects/BSON/lib/BSON/Decimal128.pm6 
> (BSON::Decimal128)
> Attribute $!sstring not declared in class BSON::Decimal128
> at /home/marcel/Languages/Perl6/Projects/BSON/lib/BSON/Decimal128.pm6 
> (BSON::Decimal128):92
> 
> 
> This is  a writing error of course of attribute $!string. The line 
> number however, was at the end of the module and not at the (first) 
> location where it is used.

Fixing this would involve remembering where an attribute was first mentioned, 
as this is fully legal:

  class A { method a { $!a }; has $!a }

aka, specifying the attribute *after* it was mentioned.  So it wouldn’t know it 
wasn’t defined until it hit the end of the class.

Reply via email to