Enhance Object/structseq.c to match namedtuple and tuple api

オープン
#46,145 コメント 49 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
c, python
領域
api, backend

調査の方向性

Start by reviewing Object/structseq.c, the historical structseq patches, and linked PR gh-108648. Compare the existing structseq behavior with the namedtuple and tuple APIs, then use the tests included or referenced by the patches to verify the requested API parity.

索引モデルが issue の本文から書いたものです。

説明

3.13 extension-modules type-feature
BPO 1820
Nosy @malemburg, @birkenfeld, @rhettinger, @terryjreedy, @amauryfa, @abalkin, @salty-horse, @jackdied, @ericvsmith, @giampaolo, @tiran, @benjaminp, @merwok, @ericsnowcurrently
Files
  • structseq_subclasses_tuple.diff: patch which makes structseq a subclass of tuple
  • structseq.diff: Tuple subclass patch with tests.
  • structseq_1.patch: Add _fields, _replace, _asdict and eval(repr(s))
  • structseq_fields.patch: Add only _fields
  • structseq_repr_issue.diff: repr() issue with unnamed fields
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = None
    created_at = <Date 2008-01-14.04:20:27.181>
    labels = ['extension-modules', 'easy', 'type-feature', '3.9']
    title = 'Enhance Object/structseq.c to match namedtuple and tuple api'
    updated_at = <Date 2020-01-15.21:54:55.660>
    user = 'https://github.com/tiran'
    

    bugs.python.org fields:

    activity = <Date 2020-01-15.21:54:55.660>
    actor = 'vstinner'
    assignee = 'none'
    closed = False
    closed_date = None
    closer = None
    components = ['Extension Modules']
    creation = <Date 2008-01-14.04:20:27.181>
    creator = 'christian.heimes'
    dependencies = []
    files = ['9159', '9170', '32525', '35367', '35802']
    hgrepos = []
    issue_num = 1820
    keywords = ['patch', 'easy']
    message_count = 42.0
    messages = ['59888', '59891', '59949', '59955', '59956', '59957', '62830', '62831', '81627', '85097', '90461', '90472', '90506', '90953', '104559', '104562', '109503', '113451', '113453', '113456', '133351', '133355', '133364', '133367', '191872', '192849', '198291', '202330', '202333', '207994', '217301', '217337', '217365', '217468', '217512', '219037', '219150', '219297', '219381', '220315', '220316', '221902']
    nosy_count = 21.0
    nosy_names = ['lemburg', 'georg.brandl', 'rhettinger', 'terry.reedy', 'amaury.forgeotdarc', 'gjb1002', 'belopolsky', 'salty-horse', 'jackdied', 'eric.smith', 'giampaolo.rodola', 'christian.heimes', 'benjamin.peterson', 'adlaiff6', 'eric.araujo', 'Arfrever', 'santoso.wijaya', 'eric.snow', 'sunfinite', 'abarnert', 'Philip Dye']
    pr_nums = []
    priority = 'low'
    resolution = None
    stage = 'patch review'
    status = 'open'
    superseder = None
    type = 'enhancement'
    url = 'https://bugs.python.org/issue1820'
    versions = ['Python 3.9']
    

    Linked PRs
    • gh-108648
    主要言語
    Python
    スター
    77.2k
    フォーク
    36k
    平均マージ
    1日 9時間
    マージ済み PR(30日)
    558

    コントリビューションガイド

    コントリビューションガイドを開く

    はじめの一歩

    1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
    2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
    3. リポジトリをフォークし、ブランチを切って変更します。
    4. issue 番号を参照したプルリクエストを送ります。

    python/cpython のほかの issue

    python/cpython の issue をすべて見る

    似ている issue

    Python の issue をもっと見る

    新しい issue をメールで受け取る

    初心者向けの GitHub issue を短くまとめたダイジェスト。