id,summary,reporter,owner,description,type,status,priority,milestone,component,version,severity,resolution,keywords,cc,lang,patch,platform
56,set_global cannot store subs compiled with :anon into namespace,pmichaud,,"The set_global opcode is unable to store Sub PMCs that have been compiled with :anon into a namespace.  Here's the demonstration code:

{{{
$ cat y.pir
.namespace ['Foo']
.sub main :main
    .const 'Sub' $P0 = 'bar'

    set_global '&!compare_by', $P0
    $P2 = get_global '&!compare_by'
    say $P2
.end

.namespace []
.sub '' :anon :subid('bar')
    noop
.end
$ ./parrot -t1 y.pir
     0 set P0, PC11                     P0=PMCNULL PC11=Sub=PMC(0x80e6eac pc:12)
     3 set_global ""&!compare_by"", P0     P0=Sub=PMC(0x80e6eac pc:12)
     6 get_global P1, ""&!compare_by""    P1=PMCNULL
     9 say P1                           P1=PMCNULL
Null PMC in say
current instr.: 'parrot;Foo;main' pc 9 (y.pir:7)
FileHandle objects (like stdout and stderr)are about to be closed, so clearing trace flags.
$
}}}

",bug,closed,normal,,core,,medium,fixed,,,,,
