As of today (2017.11,HEAD(e5b660e)) it prints a *third* variant:

(ident => 「a」 alpha => 「a」 alnum => 「a」)

The change happened in (2017-02-22)
https://github.com/rakudo/rakudo/commit/1cafc67b1aad14eafa8d3e6431656524e4d0d5d3

To me it tells that it is just random.


On 2015-03-22 13:02:12, pesc...@gmail.com wrote:
> 19:57 <psch> j: say ("a" ~~ /<alpha> & <ident> & <alnum>/).caps
> 19:57 <camelia> rakudo-jvm 5778e8: OUTPUT«ident => 「a」 alnum => 「a」
> alpha => 「a」␤»
> 19:57 <psch> m: say ("a" ~~ /<alpha> & <ident> & <alnum>/).caps
> 19:57 <camelia> rakudo-moar 5778e8: OUTPUT«alpha => 「a」 ident => 「a」
> alnum => 「a」␤»
>
> I'm not sure what the correct result would be. S05 mentions that there
> should be a warning with overlapping bindings. Additionally, sorting
> of captures is supposed to be by the sub-Matches .from, but it's not
> clarified what happens to elements with the value for .from. In any
> case, the current behavior makes at least a few tests S05-
> capture/caps.t underspecific, e.g.
>
> not ok 36 - .caps & - multiple terms# TODO & caps on jvm
> use of uninitialized value of type Any in string context in sub
> proclaim at lib/Test.pm:466
>
>
> # Failed test '.caps & - multiple terms'
> # at lib/Test.pm line
> # expected: 'alpha:a|ident:a'
> # got: 'ident:a|alpha:a'

Reply via email to