-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
dialyzer: Document the meaning of specs #6281
Conversation
CT Test Results 2 files 38 suites 16m 45s ⏱️ Results for commit 5853e6f. ♻️ This comment has been updated with latest results. To speed up review, make sure that you have read Contributing to Erlang/OTP and that all checks pass. See the TESTING and DEVELOPMENT HowTo guides for details about how to run test locally. Artifacts// Erlang/OTP Github Action Bot |
Would it make sense to add some examples to showcase some common mistakes in this area? |
Thanks for your suggestion @garazdawi. I've added some examples of how specs and inferred type interact, and some context explaining the potential implications. I am open to suggestions around the wording, etc. |
One additional thought, would it make sense to mention The text looks good to me, but I'll leave the final review to @bjorng as he is both better at Dialyzer and reviewing English than I am. |
Good question. In short, I am not entirely sure of the meaning of I also suspect it would suffer from the problem of generating false-positives, as with #6243 |
I find the examples confusing. I have pushed a suggestion for making the example more concrete as a fixup commit. Please have a look and feel free to further clarify and improve. |
Add a section in Dialyzer's docs to expand on how specs are checked and used to refine Dialyzer's inferred types, since this is often a point of confusion.
Thanks for your touch ups to make these docs much more clear, @garazdawi & @bjorng: I've squashed them into the original commit. |
Thanks! |
@TD5 there is a typo on line 291... Dialyzer will infer |
@hanssv Thanks! Corrected. |
Add a section in Dialyzer's docs to expand on how specs are checked and used to refine Dialyzer's inferred types, since this is often a point of confusion.