Author: pmichaud
Date: Mon Dec  8 18:53:30 2008
New Revision: 33684

Modified:
   branches/assign/languages/perl6/src/builtins/assign.pir

Log:
[rakudo]:  Fix array assignment where array appears on rhs.


Modified: branches/assign/languages/perl6/src/builtins/assign.pir
==============================================================================
--- branches/assign/languages/perl6/src/builtins/assign.pir     (original)
+++ branches/assign/languages/perl6/src/builtins/assign.pir     Mon Dec  8 
18:53:30 2008
@@ -59,9 +59,9 @@
     .tailcall 'infix:='(cont, source)
 
   cont_array:
-    .local pmc list, it
+    .local pmc list, it, array
     ## empty the array
-    assign cont, 0
+    array = new 'ResizablePMCArray'
     source = 'list'(source)
     it = iter source
   array_loop:
@@ -69,9 +69,11 @@
     $P0 = shift it
     $P0 = $P0.'Scalar'()
     $P0 = clone $P0
-    push cont, $P0
+    push array, $P0
     goto array_loop
   array_done:
+    $I0 = elements cont
+    splice cont, array, 0, $I0
     .return (cont)
 .end
 

Reply via email to