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

未关闭
#46,145 49 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
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 小时
    30 天内合并 PR
    558

    贡献指南

    打开贡献指南

    从这里开始

    1. 先读完整个 Issue,再读项目的贡献指南。
    2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
    3. Fork 仓库,在一个分支上完成修改。
    4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

    python/cpython 的其他 Issue

    查看 python/cpython 的全部 Issue

    相似的 Issue

    更多 Python Issue

    把新 issue 发到你的邮箱

    精选适合新手参与的 GitHub issue 摘要。