librustc: Always parse macro!()
/macro![]
as expressions if not
#19984
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.
followed by a semicolon.
This allows code like
vec![1i, 2, 3].len();
to work.This breaks code that uses macros as statements without putting
semicolons after them, such as:
It also breaks code that uses macros as items without semicolons:
Add semicolons to fix this code. Those two examples can be fixed as
follows:
RFC #378.
Closes #18635.
[breaking-change]
Rebased version of #18958
r? @alexcrichton
cc @pcwalton