[New-bugs-announce] [issue46942] Convert Object/classobject.c to Argument Clinic
report at bugs.python.org
Mon Mar 7 03:50:35 EST 2022
New submission from Oleg Iarygin <oleg at arhadthedev.net>:
- Convert method.__reduce__, method.__new__, and instancemethod.__new__ to AC. It looks like nothing else can be converted in classobject.c.
This is my first time working with AC so I could make some mistakes.
- Fix found mismatches in method.__new__ where docstring and implementation diverged:
- on how to name arguments (function vs func, instance vs self) - `fuct` is a semi-abbreviation and `self` is a special argument of instance methods. No compatibility is harmed because these arguments were forced to be positional-only anyway with `if (!_PyArg_NoKeywords("method", kw)) return NULL;`.
- on whether args are positional (the implementation called _PyArg_NoKeywords) or not (the documentation and Lib/idlelib/idle_test/test_calltip.py:80) - align with other assertions in `test_builtins()` that have reference docstrings with both `/` marker and a proper description.
- Since PyMethod_Type and PyInstanceMethod_Type are modified anyway, transform their initialization to C99-style.
- Change a disabler for PyInstanceMethod_Type.tp_hash from comments to `#if 0`.
components: Interpreter Core
title: Convert Object/classobject.c to Argument Clinic
versions: Python 3.11
Python tracker <report at bugs.python.org>
More information about the New-bugs-announce