roast
roast copied to clipboard
Behavior of rules in character sets is underspecified
Roast has many tests where a rule is combined into a character set. For example, S05-metasyntax/charset.t. However, all of the current tests use a rule that can match against a single character. This means that the behavior of a token that requires multiple characters is unspecified.
I believe that the correct behavior is, to quote jnthn from a different issue:
<+foo>
iffoo
matches more than one char [means that]: it has to match, but we only advance the cursor by 1 position however much it matches.
Unless anyone disagrees with this behavior, it should be specced, probably in S05-metasyntax/charset.t.
Cross references:
- Raku/problem-solving#97
- rakudo/rakudo#5430
- Raku/doc#4389