Changeset 21175

Show
Ignore:
Timestamp:
07/03/08 13:47:07 (5 months ago)
Author:
moritz
Message:

[spec] fudged for.t. Fails with 'Null PMC access in type()'

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • t/spec/S04-statements/for.t

    r21174 r21175  
    2626} 
    2727 
     28 
    2829## for with plain old range operator w/out parens 
    2930# L<S04/The C<for> statement/always takes a list as an argument> 
     
    4546 
    4647#?pugs eval 'todo: slice context' 
     48#?rakudo skip 'slice context' 
    4749{ 
    4850    my $str; 
     
    5254        $str ~= "($x $y)"; 
    5355    } 
    54     }; 
    5556    is $str, "(1 5)(2 4)(3 6)", 'for zip(@a; @b) -> $x, $y works'; 
    5657} 
     
    135136 
    136137# ... with referential sub 
    137  
    138 my @array_n = (0 .. 5); 
    139 my $n; 
    140 sub some_sub_3 ($arg) { $n = $n ~ $arg; } 
    141 for (@array_n) { .some_sub_3 }; 
    142 is($n, '012345', 'for @array { .some_sub } works'); 
     138#?rakudo skip 'implicit invocant' 
     139{ 
     140    my @array_n = (0 .. 5); 
     141    my $n; 
     142    sub some_sub_3 ($arg) { $n = $n ~ $arg; } 
     143    for (@array_n) { .some_sub_3 }; 
     144    is($n, '012345', 'for @array { .some_sub } works'); 
     145} 
    143146 
    144147## and now with parens around the @array 
     
    159162 
    160163# ... with referential sub 
     164#?rakudo skip 'implicit invocant' 
    161165{ 
    162166    my @array_r = (0 .. 5); 
     
    209213 
    210214#?pugs eval 'todo' 
     215#?rakudo skip 'parse error' 
    211216{ 
    212217    my @array_v = (0..2); 
     
    242247 
    243248# .key //= ++$i for @array1; 
     249#?rakudo skip 'implicit invocant' 
    244250{ 
    245251   class TestClass is rw { has $.key; }; 
     
    256262 
    257263# .key = 1 for @array1; 
     264#?rakudo skip 'implicit invocant' 
    258265{ 
    259266   class TestClass is rw { has $.key; }; 
     
    273280   my @array2 = (TestClass.new(:key<1>),TestClass.new(:key<1>));    
    274281 
    275    try { $_.key = 1 for @array1 }; 
    276    my $sum1 = @array1.map:{ $_.key }; 
    277    my $sum2 = @array2.map:{ $_.key }; 
     282   $_.key = 1 for @array1; 
     283   my $sum1 = @array1.map: { $_.key }; 
     284   my $sum2 = @array2.map: { $_.key }; 
    278285   is( $sum1, $sum2, '$_.key = 1 for @array1;'); 
    279286 
     
    282289# rw scalars 
    283290#L<S04/The C<for> statement/implicit parameter to block read/write "by default"> 
     291#?rakudo skip 'list assignment' 
    284292{ 
    285293    my ($a, $b, $c) = 0..2; 
     
    295303 
    296304{ 
    297     $a = ''; 
     305    my $a = ''; 
    298306    for 1..3, 4..6 { $a =~ $_.WHAT }; 
    299307    is($a, 'IntIntIntIntIntInt', 'List context');