我正在try 使用Python 3.12中的新类型提示,突然PyCharm强调了有关ParamSpec
的新使用的一些晦涩的问题.
import functools
from dataclasses import dataclass
from typing import Callable
from typing import Concatenate
@dataclass
class Message:
text: str
type CheckFunc[**P] = Callable[Concatenate[Message, P], None]
def check_is_command_not_answer[**P](func: CheckFunc[P]) -> CheckFunc[P]:
@functools.wraps(func)
def inner(message: Message, *args: P.args, **kwargs: P.kwargs) -> None:
if message.text:
...
else:
return func(message, *args, **kwargs)
return inner
PyCharm的return inner
个指责:
预期类型'
顺便说一句,我到处使用这个decorator ,而且代码工作得很完美.皮莱特也没有抱怨这里的任何问题.
我找不到问题.你能吗?