]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
gh-104050: Improve some typing around `default`s and sentinel values (#104626)
authorAlex Waygood <Alex.Waygood@Gmail.com>
Thu, 18 May 2023 21:58:42 +0000 (22:58 +0100)
committerGitHub <noreply@github.com>
Thu, 18 May 2023 21:58:42 +0000 (21:58 +0000)
commit1c55e8d00728ceabd97cd1a5bd4906c9875a80c6
tree5be4b4369cf14f9e49df39e2788e4f0fc90435bb
parent61027c0211adf50e81b202075246509775808482
gh-104050: Improve some typing around `default`s and sentinel values (#104626)

- Convert `unspecified` and `unknown` to be members of a `Sentinels` enum, rather than instances of bespoke classes.
  - An enum feels more idiomatic here, and works better with type checkers.
  - Convert some `==` and `!=` checks for these values to identity checks, which are more idiomatic with sentinels.
  - _Don't_ do the same for `Null`, as this needs to be a distinct type due to its usage in `clinic.py`.
- Use `object` as the annotation for `default` across `clinic.py`. `default` can be literally any object, so `object` is the correct annotation here.

---

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
Tools/clinic/clinic.py