Tonight while working on Rakudo's Str implementation, I noticed the following line in S29-list/map_function_return_values.t :
%ret = map { $_ => uc $_; }, split "", $text; This clashes with the definition of C<split> given by S29, where the first argument (invocant) is the string to be split and the delimiter comes second: our List multi method split ( Str $input: Str $delimiter, Int $limit = * ) is export our List multi method split ( Str $input: Rule $delimiter, Int $limit = * ) is export I suspect that P5 programmers will be in the habit of writing C<split $delim, $target>. In fact, throughout the t/spec/ test suite the subcall form of C<split> nearly always puts the delimiter before the thing to be split, and not as S29 has it here. I'm guessing that either (a) S29 is wrong about the 'is export' on the above methods, or (b) the test suite is consistently wrong in the ordering of its arguments to C<split> as a subroutine call. Any comments or suggestions? Thanks! Pm