Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Diagnostic levels are kind of a mess #6574

Closed
msullivan opened this issue Mar 20, 2019 · 1 comment · Fixed by #6650
Closed

Diagnostic levels are kind of a mess #6574

msullivan opened this issue Mar 20, 2019 · 1 comment · Fixed by #6650
Labels
needs discussion priority-1-normal refactoring Changing mypy's internals topic-developer Issues relevant to mypy developers topic-usability

Comments

@msullivan
Copy link
Collaborator

The current situation is:

  • mypy can emit "notes", "warnings", and "errors"
  • Any diagnostics will result in an error exit code
  • (... except for many config file diagnostics, which don't)
  • Of options that are enabled by flags named --warn-something, we produce all three kinds of diagnostics:
    • --warn-redundant-cast produces a note
    • --warn-return-any produces a warning
    • Most seem to produce errors

We emit very few warnings, so I think the right approach is to just eliminate them (and "bare" notes emitted without an error) and turn them all into errors.

The other approach would be to make warnings able to not cause an error return and to reclassify certain warnings as errors. I don't have a real problem with this other than not wanting to do that reclassification. Doing the first would not prevent us from doing this in the future.

@ilevkivskyi
Copy link
Member

#6472 looks related (in the sense it also tries to add some systematics to error reporting).

@emmatyping emmatyping added refactoring Changing mypy's internals needs discussion priority-1-normal topic-usability topic-developer Issues relevant to mypy developers labels Mar 21, 2019
msullivan added a commit that referenced this issue Apr 9, 2019
This means that all diagnostics are errors, which maybe have some
notes "attached" to them.
This makes sense, since all diagnostics cause an error exit code.

Fixes #6574.
msullivan added a commit that referenced this issue Apr 11, 2019
This means that all diagnostics are errors, which maybe have some
notes "attached" to them.
This makes sense, since all diagnostics cause an error exit code.

Fixes #6574.
JukkaL added a commit that referenced this issue Dec 14, 2021
* Typeshed cherry-pick: Relax signature of logging.config.loadConfig (#6577)

* Typeshed cherry-pick: Use AbstractSet instead of set in random and inspect (#6574)

* Partial typeshed cherry-pick: Add `SupportsRichComparison` type to `_typeshed` (#6583)

The original PR doesn't apply cleanly so I only included the changes to
builtins to avoid having to manually deal with all the conflicts.
tushar-deepsource pushed a commit to DeepSourceCorp/mypy that referenced this issue Jan 20, 2022
* Typeshed cherry-pick: Relax signature of logging.config.loadConfig (python#6577)

* Typeshed cherry-pick: Use AbstractSet instead of set in random and inspect (python#6574)

* Partial typeshed cherry-pick: Add `SupportsRichComparison` type to `_typeshed` (python#6583)

The original PR doesn't apply cleanly so I only included the changes to
builtins to avoid having to manually deal with all the conflicts.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs discussion priority-1-normal refactoring Changing mypy's internals topic-developer Issues relevant to mypy developers topic-usability
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants