Skip to content

Commit

Permalink
Make my @A[10] = ^Inf work
Browse files Browse the repository at this point in the history
Other dimensions coming up
  • Loading branch information
lizmat committed Nov 5, 2016
1 parent 469d1fc commit aedb8e7
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions src/core/Shaped1Array.pm
Expand Up @@ -116,14 +116,20 @@
(my \list := nqp::getattr(self,List,'$!reified')),
(my \desc := nqp::getattr(self,Array,'$!descriptor')),
(my \iter := in.iterator),
(my int $elems = nqp::elems(list)),
(my int $i = -1),
nqp::until(
nqp::eqaddr((my $pulled := iter.pull-one),IterationEnd),
nqp::eqaddr((my $pulled := iter.pull-one),IterationEnd)
|| nqp::iseq_i(($i = nqp::add_i($i,1)),$elems),
nqp::ifnull(
nqp::atpos(list,($i = nqp::add_i($i,1))),
nqp::atpos(list,$i),
nqp::bindpos(list,$i,nqp::p6scalarfromdesc(desc))
) = $pulled
),
nqp::unless(
nqp::islt_i($i,$elems) || iter.is-lazy,
nqp::atpos(list,$i) # too many values on non-lazy iter, error
),
self
)
}
Expand Down

0 comments on commit aedb8e7

Please sign in to comment.