python / python/mypy

Mypy fails on usage of attrs package

未关闭
#9,770 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

bug topic-attrs topic-disallow-any
主要语言
Python
星标
20.6k
派生
3.3k
平均合并
1 天 18 小时
30 天内合并 PR
54

描述

On the following file name.py

from attr import attrs, attrib


@attrs(frozen=True)
class Name:
    name: str = attrib(converter=str.lower)

    def __str__(self) -> str:
        return self.name

calling mypy as follows

 mypy src --disallow-untyped-calls --disallow-untyped-defs --disallow-untyped-decorators --disallow-incomplete-defs --disallow-any-expr --warn-redundant-casts --warn-unreachable

results in the following errors

name.py:4: error: Expression type contains "Any" (has type "Type[Name]")
name.py:6: error: Unsupported converter, only named functions and types are currently supported

I think both errors are incorrect.

If you agree then please fix!

贡献指南

打开贡献指南

从这里开始

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

调研方向

从 name.py 中的可复现示例开始,并运行提供的 mypy 命令以确认这两个诊断。跟踪 mypy 如何处理 attrs 装饰器和 converter,然后验证示例不再报告这两个错误,同时保留预期的类型检查行为。

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

评估

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

把新 issue 发到你的邮箱

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