Correctly format unsafe
expressions.
#973
Merged
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.
Since this is another "stackable keyword-modified expression" situation, I've given the same kind of handling as
try
andawait
, where we have a group that tries to encompass the entire sequence of keywords and the following token (if it is an identifier in a callable non-compound expression) to avoid breaking unnecessarily in those situations.The only subtle difference is that
unsafe
is a contextual keyword, so it must not be separated from the following identifier/keyword by a line break. We use a fixed space to keep it glued to the following token in all circumstances.I've shuffled the pretty-printer tests for
try
/await
around a bit so that we have a single file to handle the behavior for all of these keyword-modified expressions. I think it's cleaner.Fixes #972.