python / python/cpython

functools.update_wrapper breaks the signature of functools.partial objects

未关闭
#90,917 23 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

stdlib type-bug
主要语言
Python
星标
77.2k
派生
36k
PR 合并指标
PR 指标待抓取

描述

BPO 46761
Nosy @ncoghlan, @larryhastings, @1st1, @isidentical, @ofey404
PRs
  • python/cpython#31529
  • Files
  • update_wrapper.breaks.partial.signature.test.py
  • update_wrapper.breaks.partial.signature.check.wrapped.py
  • 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 2022-02-15.18:06:14.844>
    labels = ['type-bug', '3.8', '3.9', '3.10', '3.11', '3.7', 'library']
    title = 'functools.update_wrapper breaks the signature of functools.partial objects'
    updated_at = <Date 2022-03-26.12:36:12.144>
    user = 'https://github.com/larryhastings'
    

    bugs.python.org fields:

    activity = <Date 2022-03-26.12:36:12.144>
    actor = 'ncoghlan'
    assignee = 'none'
    closed = False
    closed_date = None
    closer = None
    components = ['Library (Lib)']
    creation = <Date 2022-02-15.18:06:14.844>
    creator = 'larry'
    dependencies = []
    files = ['50625', '50639']
    hgrepos = []
    issue_num = 46761
    keywords = ['patch']
    message_count = 21.0
    messages = ['413299', '413557', '413688', '413778', '413814', '413833', '413876', '413896', '414175', '414176', '414638', '414890', '414937', '415024', '415025', '416023', '416024', '416025', '416028', '416031', '416060']
    nosy_count = 7.0
    nosy_names = ['ping', 'ncoghlan', 'larry', 'grahamd', 'yselivanov', 'BTaskaya', 'ofey404']
    pr_nums = ['31529']
    priority = 'normal'
    resolution = None
    stage = 'patch review'
    status = 'open'
    superseder = None
    type = 'behavior'
    url = 'https://bugs.python.org/issue46761'
    versions = ['Python 3.7', 'Python 3.8', 'Python 3.9', 'Python 3.10', 'Python 3.11']
    

    贡献指南

    打开贡献指南

    从这里开始

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

    调研方向

    查看 PR #31529 以及链接的两个测试文件 update_wrapper.breaks.partial.signature.test.py 和 update_wrapper.breaks.partial.signature.check.wrapped.py。首先复现标题中描述的 functools.partial 签名行为,然后使用测试验证 update_wrapper 不再破坏该行为。

    由索引模型根据 Issue 内容生成。

    评估

    技术栈
    python
    领域
    backend
    Issue 类型
    缺陷
    难度
    3/5
    预计耗时
    1-2 天
    活跃度
    停滞
    描述清晰度
    基本清楚
    新手友好度
    30/100

    把新 issue 发到你的邮箱

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