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-101819: Adapt _io.IOBase.seek and _io.IOBase.truncate to Argument Clinic #104384

Merged
merged 1 commit into from
May 11, 2023

Conversation

erlend-aasland
Copy link
Contributor

@erlend-aasland erlend-aasland commented May 11, 2023

Pass defining class, so we can easily fetch module state in the future.

…ument Clinic

Pass defining class, so we can easily fetch module state in the future.
@kumaraditya303 kumaraditya303 enabled auto-merge (squash) May 11, 2023 10:16
@kumaraditya303 kumaraditya303 merged commit e629ab6 into python:main May 11, 2023
@erlend-aasland erlend-aasland deleted the isolate-io/clinic-iobase branch May 11, 2023 10:42
@corona10
Copy link
Member

@erlend-aasland
Out of curiosity, what are the criteria for converting to AC tools?
I love to use AC tool if possible and we have a bunch of methods to convert but I am not sure when to do when to not.

@erlend-aasland
Copy link
Contributor Author

For this particular change, I need the defining class in the near future. This PR is a prerequisite for the complete isolation of _io.

Also, the Faster Python team is pushing AC adaption (see open issue in their repo), as it will make it easier to experiment with class method optimisations.

@erlend-aasland
Copy link
Contributor Author

See also faster-cpython/ideas#565

@corona10
Copy link
Member

For this particular change, I need the defining class in the near future

+1

Also, the Faster Python team is pushing AC adaption (see open issue in their repo),

Yeah, I sometimes observe manual optimization patches that decide not to use AC.
Such decisions make me confusion..

Copy link
Member

@vstinner vstinner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review after merge: LGTM. I just left a minor coding style remark.

Thanks for spliting your large draft PR into smaller PRs. It makes reviews easier, but also makes the Git history easier to follow.

Modules/_io/iobase.c Show resolved Hide resolved
@erlend-aasland
Copy link
Contributor Author

Thanks for the post-merge reviews! There are still a number of PRs left, so if there are remarks, we can easily address those post merge. Most of the low-hanging fruit is now picked; soon we'll get to porting the base types! It gets interesting.

carljm added a commit to carljm/cpython that referenced this pull request May 11, 2023
* main: (27 commits)
  pythongh-87849: fix SEND specialization family definition (pythonGH-104268)
  pythongh-101819: Adapt _io.IOBase.seek and _io.IOBase.truncate to Argument Clinic (python#104384)
  pythongh-101819: Adapt _io._Buffered* methods to Argument Clinic (python#104367)
  pythongh-101819: Refactor `_io` futher in preparation for module isolation (python#104369)
  pythongh-101819: Adapt _io.TextIOBase methods to Argument Clinic (python#104383)
  pythongh-101117: Improve accuracy of sqlite3.Cursor.rowcount docs (python#104287)
  pythonGH-92184: Convert os.altsep to '/' in filenames when creating ZipInfo objects (python#92185)
  pythongh-104357: fix inlined comprehensions that close over iteration var (python#104368)
  pythonGH-90208: Suppress OSError exceptions from `pathlib.Path.glob()` (pythonGH-104141)
  pythonGH-102181: Improve specialization stats for SEND (pythonGH-102182)
  pythongh-103000: Optimise `dataclasses.asdict` for the common case (python#104364)
  pythongh-103538: Remove unused TK_AQUA code (pythonGH-103539)
  pythonGH-87695: Fix OSError from `pathlib.Path.glob()` (pythonGH-104292)
  pythongh-104263: Rely on Py_NAN and introduce Py_INFINITY (pythonGH-104202)
  pythongh-104010: Separate and improve docs for `typing.get_origin` and `typing.get_args` (python#104013)
  pythongh-101819: Adapt _io._BufferedIOBase_Type methods to Argument Clinic (python#104355)
  pythongh-103960: Dark mode: invert image brightness (python#103983)
  pythongh-104252: Immortalize Py_EMPTY_KEYS (pythongh-104253)
  pythongh-101819: Clean up _io windows console io after pythongh-104197 (python#104354)
  pythongh-101819: Harden _io init (python#104352)
  ...
carljm added a commit to carljm/cpython that referenced this pull request May 11, 2023
* main:
  pythongh-87849: fix SEND specialization family definition (pythonGH-104268)
  pythongh-101819: Adapt _io.IOBase.seek and _io.IOBase.truncate to Argument Clinic (python#104384)
  pythongh-101819: Adapt _io._Buffered* methods to Argument Clinic (python#104367)
  pythongh-101819: Refactor `_io` futher in preparation for module isolation (python#104369)
  pythongh-101819: Adapt _io.TextIOBase methods to Argument Clinic (python#104383)
  pythongh-101117: Improve accuracy of sqlite3.Cursor.rowcount docs (python#104287)
  pythonGH-92184: Convert os.altsep to '/' in filenames when creating ZipInfo objects (python#92185)
  pythongh-104357: fix inlined comprehensions that close over iteration var (python#104368)
  pythonGH-90208: Suppress OSError exceptions from `pathlib.Path.glob()` (pythonGH-104141)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants