Fix subtyping between ParamSpecs by ilevkivskyi · Pull Request #15892 · python/mypy (original) (raw)
Quick comment since I haven't looked over the code yet:
strict_concatenate check should be off by default (IIUC it is not mandated by the PEP)
My impression (I forgot everything...) is that it's mandated. But now I looked back at the PEP and found this example, which is not allowed by strict concatenate:
def add(f: Callable[P, int]) -> Callable[Concatenate[str, P], None]:
def foo(s: str, *args: P.args, **kwargs: P.kwargs) -> None: # Accepted pass
[snip]
return foo # Accepted