跳到内容

stub文件中参数注解使用NoReturn (PYI050)

源自 flake8-pyi 代码检查器。

作用

检查参数注解中是否使用了 typing.NoReturn (以及 typing_extensions.NoReturn)。

为什么这不好?

对于参数注解,建议使用 Never 而不是 NoReturn。在这些上下文中,Never 的名称更清晰,因为谈论一个参数注解“不返回”几乎没有意义。

这纯粹是一个风格检查:这两种类型对于类型检查器具有相同的语义。它们都代表 Python 的“底层类型”(一种没有成员的类型)。

示例

from typing import NoReturn

def foo(x: NoReturn): ...

建议改为

from typing import Never

def foo(x: Never): ...

参考