gh-129573: Fix possible abort from non-string suggestions in calculate_suggestions
/_Py_CalculateSuggestions
#130997
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.
This PR adds a simple check that suggestion candidates are strings in
calculate_suggestions
(3.12)/_Py_CalculateSuggestions
(main), avoiding an abort in debug builds from code like below:The abort only happens in 3.12, because the code in main checks for non-string candidates in
_suggestions__generate_suggestions_impl
. However, since the affected code is still present in main, this PR is against that branch.In main, the code above exits the new REPL, which will be reported as a new issue with associated PR.
Found using fusil by @vstinner.
_PyUnicode_Equal
fromcalculate_suggestions
with non-string candidate #129573