# New Ticket Created by  Christian Bartolomaeus 
# Please include the string:  [perl #126823]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=126823 >


There are two failing tests (one in S32-array/adverbs.t, one in 
S32-hash/adverbs.t) that do not die as expected in a spectest. The problem can 
be golfed as follows:

1) This code dies when it is run standalone:

$ ./perl6-m -e 'my %h = b => 2, c => 3; say %h<b>:zorp'
Unexpected named parameter 'zorp' passed
  in block <unit> at -e:1

2) Code dies the first time it is executed with 'use Test'. (After a fresh 
install without any installed rakudo.)

$ PERL6LIB=lib ./perl6-m -e 'use Test; my %h = b => 2, c => 3; say %h<b>:zorp'
Unexpected named parameter 'zorp' passed
  in block <unit> at -e:1

3) Code does _not_ die when it is executed a second, third ... time with 'use 
Test'.

$ PERL6LIB=lib ./perl6-m -e 'use Test; my %h = b => 2, c => 3; say %h<b>:zorp'
2
$ PERL6LIB=lib ./perl6-m -e 'use Test; my %h = b => 2, c => 3; say %h<b>:zorp'
2

4) If I add a new line with a comment to 'lib/Test.pm' the code again dies at 
the first execution -- but not afterwards:

$ echo "#" >> lib/Test.pm
$ PERL6LIB=lib ./perl6-m -e 'use Test; my %h = b => 2, c => 3; say %h<b>:zorp'
Unexpected named parameter 'zorp' passed
  in block <unit> at -e:1
$ PERL6LIB=lib ./perl6-m -e 'use Test; my %h = b => 2, c => 3; say %h<b>:zorp'
2
$ PERL6LIB=lib ./perl6-m -e 'use Test; my %h = b => 2, c => 3; say %h<b>:zorp'
2

I suspect that this behaviour has somehow to do with precompilation of 
'lib/Test.pm'.

Reply via email to