5 Aug
2022
5 Aug
'22
4:14 a.m.
The `**` syntax for a `ParamSpec` comes from PEP 677, which was widely supported in the typing community but ultimately rejected by the steering council. I don't think your proposed `TypeVarDict` would work as a replacement for `ParamSpec`. A `ParamSpec` captures much more than positions versus keyword parameters. It captures which parameters can be both (positions or keyword), which parameters contain defaults, and internal flags about the captured call such as whether it's an unbound instance or class method. I'm skeptical that we would ever pursue a `TypeVarDict` concept in the type system, so I'm not so worried about using "**" to mean `ParamSpec` in this context. -Eric