Ticket #539 (closed bug: fixed)
NQP does not autovivify "our @" but does for "my @"
| Reported by: | bsdz | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | nqp | Version: | trunk |
| Severity: | medium | Keywords: | |
| Cc: | pmichaud | Language: | |
| Patch status: | Platform: | all |
Description
When declaring a list using "my" NQP autovifies whereas with "our" it does not.
i.e.
load_bytecode('library/dumper.pbc');
our @our_list;
@our_list.push('some data');
_dumper(@our_list, 'our_list');
my @my_list;
@my_list.push('some data');
_dumper(@my_list, 'my_list');
outputs :-
"our_list" => ResizablePMCArray (size:0) [
]
"my_list" => ResizablePMCArray (size:1) [
"some data"
]
whereas one should expect: -
"our_list" => ResizablePMCArray (size:1) [
"some data"
]
"my_list" => ResizablePMCArray (size:1) [
"some data"
]
A workaround is to declare an "our" scoped list as follows: -
our @our_list := ('dummy' , 'dummy');
@our_list.shift();
@our_list.shift();
@our_list.push('some data');
_dumper(@our_list, 'our_list');
Change History
Note: See
TracTickets for help on using
tickets.
