是否可以要求TypeVar
mypy 中的 a 仅解析为非Optional
类型?例如
from typing import Callable, Optional, TypeVar
from typing_extensions import Protocol
T = TypeVar('T')
def mapper(callabl: Callable[..., T]) -> T:
return callabl()
def bad_function() -> Optional[int]:
return None
mapper(reveal_type(bad_function))
Run Code Online (Sandbox Code Playgroud)
在此示例中,bad_function
显示为 类型def () -> Union[builtins.int, None]
。我想要一种方法来限制T
绑定到任何不可选的类型(即不是Union
with None
),这样该代码片段将无法进行类型检查。Typescript(和 Kotlin 的内置类型系统)等其他检查器默认支持这一点,所以我想知道是否也可以在 mypy 中执行此操作。我知道可以绑定TypeVar
s,但我无法弄清楚在这种情况下绑定什么是正确的T
。
归档时间: |
|
查看次数: |
1348 次 |
最近记录: |