-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Description
There several situations where a quite terse error message is given: Invalid type "__main__.T" -- this could be an attempt to use a variable as a type, attempt to use function as a type, unsupported forward reference, maybe some other. I propose to make this error message more specific, or add a note:
error: Invalid type "__main__.f"
note: Functions can't be used as a type
and
error: Invalid type "__main__.Alias"
note: Variables can't be used as a type
The second can be also useful if someone accidentally created a variable instead of an alias. In this case we can even append a link to docs, if we detect that variable has type Type[...].
Another similar terse error message is Invalid base class. We can say which base is invalid, this will be useful in case of multiple bases on the same line, and maybe also add a note in some cases explaining why it is invalid, like note: Union types can't be subclassed, so that it is clear what went wrong.