Fix error message when using const
inside a function, require the LHS to be global, and prohibit "const x[] = 1"
#57470
+266
−176
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.
The changes to
const
resulted in confusing error messages when it was usedinside a function (#57334). On 1.11.3:
On nightly:
In prior versions, we also accepted confused expressions like:
This change adds a new error messages explicitly prohibiting
const
where theleft hand side is not declaring variables:
Finally, #54773 made
const
stop participating in scope resolution (the lefthand side was always taken to be in global scope). Some expressions that were
prohibited started being accepted:
In 1.11.3:
Nightly:
This change rejects
const
unless the variable would be in global scope(
global const
would be required in the example), so we don't lose theability to make
const
in local scope meaningful later.