mirror of
https://github.com/microsoft/pyright.git
synced 2024-08-17 03:40:44 +03:00
Added missing section on type aliases within typed library documentation.
This commit is contained in:
parent
67e94f4c8a
commit
05cdaf9344
@ -70,6 +70,7 @@ Type annotations can be omitted in a few specific cases where the type is obviou
|
||||
|
||||
* Constants that are assigned simple literal values (e.g. `RED = '#F00'` or `MAX_TIMEOUT = 50` or `room_temperature: Final = 20`). A constant is a symbol that is assigned only once and is either annotated with a `Final` annotation or is named in all-caps. A constant that is not assigned a simple literal value requires explicit annotations, preferably with a `Final` annotation (e.g. `WOODWINDS: Final[List[str]] = ['Oboe', 'Bassoon']`).
|
||||
* Enum values within an Enum class do not require annotations because they take on the type of the Enum class.
|
||||
* Type aliases do not require annotations. A type alias is a symbol that is defined at a module level with a single assignment where the assigned value is an instantiable type, as opposed to a class instance (e.g. `Foo = Callable[[Literal["a", "b"]], Union[int, str]]` or `Bar = Optional[MyGenericClass[int]]`).
|
||||
* The “self” parameter in an instance method and the “cls” parameter in a class method do not require an explicit annotation.
|
||||
* The return type for an `__init__` method does not need to be specified, since it is always `None`.
|
||||
* The following module-level symbols do not require type annotations: `__all__`,`__author__`, `__copyright__`, `__email__`, `__license__`, `__title__`, `__uri__`, `__version__`.
|
||||
|
Loading…
Reference in New Issue
Block a user