Improve mypy plugin error messages #588
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
The changes are based on https://www.youtube.com/watch?v=tH3Nul6jDQM which uses
find_memberrather thananalyze_member_accessandctx.api.failto raise custom error messages.Previously, attribute lookup errors on a
Proxy[Foo]would raise an error that did not make it clear the type was aProxy:"Foo" has no attribute "y". Now the error will now look like:"OwnedProxy[Foo]" has no attribute "y".Error on Union types have also been improved. For example:
Item "Proxy[Foo]" of "Proxy[Foo] | Bar" has no attribute "y".Fixes N/A
Type of Change
Testing
Added more unit tests, and validated with the following script.
Pull Request Checklist
Please confirm the PR meets the following requirements.
pre-commit(e.g., mypy, ruff, etc.).