GeezerVison is showing github.com — Implement PEP 765 · Issue #130080 · python/cpython
Implement PEP 765 #130080DescriptionThis issue serves as a tracker for implementing PEP-765.
Linked PRs
Reacted by Reacted by Alex Waygood, Bartosz Sławecki, Bénédikt Tran, Kirill Podoprigora and Hugo van Kemenade Activityadded 2 commits that reference this issue on Mar 6, 2025gh-130080: move _Py_EnsureArrayLargeEnough to a separate header so it… hugovk commented on Mar 17, 2025 🚀
Final task, mark the the PEP as Final:
Once a PEP has been accepted, the reference implementation must be completed. When the reference implementation is complete and incorporated into the main source code repository, the status will be changed to “Final”.
https://peps.python.org/pep-0001/#pep-review-resolution picnixz commented on Mar 18, 2025 There are a bunch of warnings when executing the test suite now:
I'm re-opening the issue so that we fix the issues in the tests but you can open a separate issue if you want. cdce8p commented on Mar 22, 2025 #130087 seems to have introduce a regression were AST folding is now applied even if it shouldn't be. E.g.
# test.py
match a:
case -1+2j:
pass
With Python 3.13 (or 3.14a6)
$ python3.13 -m ast test.py
...
match_case(
pattern=MatchValue(
value=BinOp(
left=UnaryOp(
op=USub(),
operand=Constant(value=1)),
op=Add(),
right=Constant(value=2j))),
body=[...
After #130087
$ python -m ast test.py
...
match_case(
pattern=MatchValue(
value=Constant(value=(-1+2j))),
body=[...
iritkatriel commented on Mar 23, 2025
#130087 seems to have introduce a regression were AST folding is now applied even if it shouldn't be. E.g.
Thanks, this is now fixed. WolframAlph commented on Mar 25, 2025 @iritkatriel I believe this memset is unnecessary:
|
memset(&state, 0, sizeof(_PyASTOptimizeState)); |
Here is PR: #131745 iritkatriel commented on Mar 25, 2025 We do this in other places - set everything to 0 and then override other fields. If someone adds a new field which should be initialised to 0 they will probably not bother to update initialisation. WolframAlph commented on Mar 28, 2025 defkev commented on Oct 10, 2025 I just upgraded to 3.14 (from 3.13) and now I can no longer return a custom value from a function when returning early without copy and pasting my return value everywhere?
def test(fail = False):
try:
if fail:
raise Exception('fail')
else:
print('try')
return # Will never reach Done
except Exception as e:
print(e)
finally:
print('Finally')
return (0, 1, 2) # Syntaxerror in 3.14
print('Done')
return (0, 1, 2) # Unreachable when returning early
Who tf comes up with this nonsense?!?
MetadataMetadataDevelopmentNo branches or pull requestsIssue actions
|