◐ Shell
clean mode source ↗

Message 397486 - Python tracker

Oh this is a fun one :).

> The code for recognizing TypeVars must be wrong. Is it also wrong in e.g. list[T]?

list[T] is correct. I was pretty puzzled since I thought their code is nearly the same, but then I noticed a subtle difference -- GenericAlias checks for type(o).__module__ == "typing", while Union checks for o.__module__ == "typing", and o.__module__ is wherever the user defines it.