click
click copied to clipboard
Parameter typing improvements
This removes all of the type: ignore mentions in Argument, its subclasses, and the exceptions module. To do so, the following is done:
Parameteris now an abstract base class. This just clarifies it cannot be instantiated which was always the point.Parameter.namecan no longer beNone. It only ever isNonewhenexpose_value = False. Instead of having to deal withNoneandis Noneeverywhere, let's just use""instead ofNonewhenexpose_valueisFalsectxinParameter.get_error_hintcan beNone. It always has been like this, but wasn't explicit in typing. Better to be explicit than implicit.
- ~~Add tests that demonstrate the correct behavior of the change. Tests
should fail without the change.~~
Parameter.nameis an implementation detail, it's not in the documentation.
- ~~Add or update relevant docs, in the docs folder and in code.~~
- [x] Add an entry in CHANGES.rst summarizing the change and linking to the issue.
- [x] Add
.. versionchanged::entries in any relevant code docs.
@AndreasBackx Would you mind rebasing this so it can go out with 8.3.0?