I think this bug should now be fixed in 456ade5 -- it no longer
segfaults on the test program I'm giving it.  The problem appears to
have been that 'when' statements (and 'loop' and 'repeat') were failing
to create the implicit $/ lexical var (as well as $_ and $!), and thus
the 'make' function would segfault when attempting to set $/.ast .

The test program I was using no longer segfaults as of 456ade5:

$ cat x
grammar A { 
    regex TOP { \' (.*?) \' {*} } 
}; 

class B { 
    method TOP($/) { 
        when * { 
            make ['Text', ~$0];
        } 
    } 
}; 

A.parse("'foo'", :action(B.new)) 
    or die 'no  match'; say $/.ast.perl;

$ ./perl6 x
["Text", "foo"]
$ 


I'll assign the ticket to moritz++, who can then decide what spectests
(if any) we need and then close the ticket.

Thanks!

Pm

Reply via email to