Conversation
|
I know I saw at least one place a 1 member enum was used instead just for the debuggability reason. I'll see if I can find it again. |
|
Found it (and it seems like the only one). Lines 102 to 103 in b1f6e40 |
|
Ok it uses it to have typing support in the code as well and until that is implemented it's probably not worth trying to change it. I tried replacing it but mypy hasn't implemented it and with the flag to enable it in pyright they don't support the final semantics it seems yet (Sentinel vs., sentinel) |
Tracking issue here. |
NOTE Erasing or replacing the contents of this template will result in your pull
request being summarily closed without consideration!
Changes
This changes our current sentinels to use the PEP 661
sentineltype instead of an anonymousobject.The only place where this could not be done is the
typed_attribute()function, as it is typed to returnAny.This PR needs a newer mypy for type checks to pass, as it doesn't yet recognize
typing_extensions.sentinel.Checklist
If this is a user-facing code change, like a bugfix or a new feature, please ensure that
you've fulfilled the following conditions (where applicable):
tests/) which would fail without your patchdocs/), in case of behavior changes or newfeatures
docs/versionhistory.rst).If this is a trivial change, like a typo fix or a code reformatting, then you can ignore
these instructions.
Updating the changelog
If there are no entries after the last release, use
**UNRELEASED**as the version.If, say, your patch fixes issue #123, the entry should look like this:
If there's no issue linked, just link to your pull request instead by updating the
changelog after you've created the PR.