Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gh-103763: Implement PEP 695 #103764

Merged
merged 232 commits into from May 16, 2023
Merged

gh-103763: Implement PEP 695 #103764

merged 232 commits into from May 16, 2023

Conversation

JelleZijlstra
Copy link
Member

@JelleZijlstra JelleZijlstra commented Apr 24, 2023

I will update this message as the status of the PR changes.

This is a complete implementation. It incorporates the changes in python/peps#3122, which were approved by the SC.

I wrote a detailed account of the changes in this PR at https://jellezijlstra.github.io/pep695

Reviews are welcome on any aspect of the implementation.

msfterictraut and others added 30 commits April 8, 2023 18:04
…This commit includes:

1. Parser updates
2. AST updates
3. typing.py updates
4. Unit tests

It does not include the following:
5. Symtable updates
6. Compiler updates
7. C implementations of TypeVar, TypeVarTuple, ParamSpec, Generic
This fixes compilation for me locally.
This isn't fully functional, but it should be enough to unblock work
on the runtime. I'll update this PR as I implement more.
@JelleZijlstra JelleZijlstra added the 🔨 test-with-refleak-buildbots Test PR w/ refleak buildbots; report in status section label May 14, 2023
@bedevere-bot
Copy link

🤖 New build scheduled with the buildbot fleet by @JelleZijlstra for commit 1328c75 🤖

If you want to schedule another build, you need to add the 🔨 test-with-refleak-buildbots label again.

@bedevere-bot bedevere-bot removed the 🔨 test-with-refleak-buildbots Test PR w/ refleak buildbots; report in status section label May 14, 2023
@JelleZijlstra
Copy link
Member Author

@markshannon any further comments? I reorganized the bytecodes as you requested.

@JelleZijlstra
Copy link
Member Author

Pushed fixes for some more class scoping edge cases (around class bodies that contain global or nonlocal statements).

@JelleZijlstra
Copy link
Member Author

Since the clock is ticking for the beta deadline, I intend to merge this PR tonight (California time) unless some major new feedback comes up. Any smaller issues can be addressed in followup PRs. cc @markshannon @Yhg1s

Python/symtable.c Outdated Show resolved Hide resolved
Python/symtable.c Outdated Show resolved Hide resolved
Python/symtable.c Outdated Show resolved Hide resolved
@JelleZijlstra
Copy link
Member Author

Seems like there's some networking issue causing CI to fail intermittently, I'll retry later.

@JelleZijlstra JelleZijlstra added the 🔨 test-with-refleak-buildbots Test PR w/ refleak buildbots; report in status section label May 15, 2023
@bedevere-bot
Copy link

🤖 New build scheduled with the buildbot fleet by @JelleZijlstra for commit 08d931c 🤖

If you want to schedule another build, you need to add the 🔨 test-with-refleak-buildbots label again.

@bedevere-bot bedevere-bot removed the 🔨 test-with-refleak-buildbots Test PR w/ refleak buildbots; report in status section label May 15, 2023
@JelleZijlstra
Copy link
Member Author

I think the refleaks are unrelated, probably #104510.

@Eclips4
Copy link
Contributor

Eclips4 commented May 15, 2023

I think the refleaks are unrelated, probably #104510.

Yeah, you're right.
Fails in test_gzip, test_httpservers, test_nntplib, test_tarfile, test_xmlrpc related to isolation of io module.

@JelleZijlstra JelleZijlstra merged commit 24d8b88 into python:main May 16, 2023
24 of 34 checks passed
@gvanrossum
Copy link
Member

🎉

carljm added a commit to carljm/cpython that referenced this pull request May 16, 2023
* main:
  pythonGH-104510: Fix refleaks in `_io` base types (python#104516)
  pythongh-104539: Fix indentation error in logging.config.rst (python#104545)
  pythongh-104050: Don't star-import 'types' in Argument Clinic (python#104543)
  pythongh-104050: Add basic typing to CConverter in clinic.py (python#104538)
  pythongh-64595: Fix write file logic in Argument Clinic (python#104507)
  pythongh-104523: Inline minimal PGO rules (python#104524)
  pythongh-103861: Fix Zip64 extensions not being properly applied in some cases (python#103863)
  pythongh-69152: add method get_proxy_response_headers to HTTPConnection class (python#104248)
  pythongh-103763: Implement PEP 695 (python#103764)
  pythongh-104461: Run tkinter test_configure_screen on X11 only (pythonGH-104462)
  pythongh-104469: Convert _testcapi/watchers.c to use Argument Clinic (python#104503)
  pythongh-104482: Fix error handling bugs in ast.c (python#104483)
  pythongh-104341: Adjust tstate_must_exit() to Respect Interpreter Finalization (pythongh-104437)
  pythonGH-102613: Fix recursion error from `pathlib.Path.glob()` (pythonGH-104373)
@carljm
Copy link
Contributor

carljm commented May 16, 2023

Congrats! Really excellent work on a tight timeframe.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic-typing type-feature A feature request or enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet