Chaining of prefix and postfix operators #242
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Parsers created with
buildExprParserwill try to chain prefix and postfix operators.Previously, it was not possible to chain prefix operators, e.g.
not not True, though this is was the behaviour for infix operators.Consumers of this library may rely on the old behaviour.
Currently, this PR is a breaking change.
It should be considered if chaining/non-chaining is configurable on a per-operator basis (similar to how associativity is configurable for infix operators).
Another option is to add new constructor(s) to
Operator, e.g.PrefixChained,PostfixChainedto avoid the breaking change.Resolves #241
Checklist: