PyCode_Addr2Line point to out of date PEP 626
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 77.2k
- Forks
- 35.9k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Documentation
The docs for PyCode_Addr2Line say:
For efficiently iterating over the line numbers in a code object, use the API described in PEP 626.
That section of the PEP describes PyCodeAddressRange, PyLineTable_InitAddressRange, PyLineTable_NextAddressRange, and PyLineTable_PreviousAddressRange . Those function have been renamed with a _ prefix. Some are not exported symbols (even in private headers). That's fine for the PEP, we treat them as historical documents, but the docs should be up to date.
Ideally we:
- Document that
PyCode_Addr2Linemay be O(N) in the size of the code. This is important and not obvious! - Describe how to iterate efficiently in the docs.
- In a future version of Python, expose the functions as public, documented, unstable C APIs. (I think
PyUnstablemakes sense for these)
Linked PRs
- gh-156736
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit der Dokumentation zu PyCode_Addr2Line und vergleiche deren Referenz auf PEP 626 mit den im Issue beschriebenen umbenannten Funktionen für Adressbereiche. Prüfe zuerst den verknüpften PR gh-156736; die Dokumentationsarbeit ist abgeschlossen, wenn der Hinweis zur Komplexität und die Anleitung zur effizienten Iteration korrekt sind und eine mögliche künftige API-Bereitstellung klar davon getrennt ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- api, documentation
- Issue-Typ
- Dokumentation
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 25/100