Spec and conformance tests disagree on converting constructors into callable for classes with `__new__` and `__init__`
未关闭
还没有人认领这个 Issue。
topic: conformance tests
topic: typing spec
- 主要语言
- Python
- 星标
- 1.8k
- 派生
- 302
- 平均合并
- 23 小时
- 30 天内合并 PR
- 8
描述
For classes with both __new__ and __init__, when converting the constructor into a Callable, the spec says that
class B:
""" __new__ and __init__ """
def __new__(cls, *args, **kwargs) -> Self:
...
def __init__(self, x: int) -> None:
...
reveal_type(accepts_callable(B)) # ``def (*args, **kwargs) -> B | def (x: int) -> B``
The conformance test says that
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
将 docs/spec/constructors.rst 中链接部分附近描述的构造函数行为与 conformance/tests/constructors_callable.py 中的情况进行比较。确定对于同时定义 new 和 init 的类,预期使用哪种 callable 类型,然后使规范与一致性测试保持一致,并运行相关的构造函数一致性检查。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- python
- 领域
- documentation, testing-qa
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 48/100