From 5f2e117bba1660516d6e74552942bd78a3a3fbaa Mon Sep 17 00:00:00 2001 From: Sebastian Rittau Date: Sun, 15 Aug 2021 05:48:40 +0200 Subject: [PATCH] CONTRIBUTING: Use PEP 604 syntax (#5925) Co-authored-by: Akuli --- CONTRIBUTING.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 00da3ca96..981bdbb81 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -327,9 +327,10 @@ checker, and leave out unnecessary detail: Some further tips for good type hints: * use built-in generics (`list`, `dict`, `tuple`, `set`), instead - of importing them from `typing`, **except** for arbitrary length tuples - (`Tuple[int, ...]`) (see - [python/mypy#9980](https://github.com/python/mypy/issues/9980)); + of importing them from `typing`, **except** in type aliases, in base classes, and for + arbitrary length tuples (`Tuple[int, ...]`); +* use `X | Y` instead of `Union[X, Y]` and `X | None`, instead of + `Optional[X]`, **except** when it is not possible due to mypy bugs (type aliases and base classes); * in Python 3 stubs, import collections (`Mapping`, `Iterable`, etc.) from `collections.abc` instead of `typing`; * avoid invariant collection types (`list`, `dict`) in argument