It looks like this was not a bug regarding '|$' in a signature, but a mis-parse. AFAIU commits https://github.com/rakudo/rakudo/commit/ce263122bc and https://github.com/perl6/std/commit/53b3ca6ff2 changed the parsing rules for rakudo and STD, respectively. The error messages are gone now:
< bartolin> std: sub f { f(|$) } <+camelia> std 28329a7: OUTPUT«ok 00:00 138m» < bartolin> m: sub f { f(|$) } <+camelia> rakudo-moar 5bfaaf: ( no output ) I changed the test accordingly and moved it to S02-names/bare-sigil.t (commit https://github.com/perl6/roast/commit/b251b6fc0f).