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.
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
Provide a Gradualizer diagnostic #1117
Provide a Gradualizer diagnostic #1117
Changes from 21 commits
5e36e5c
7d4518b
fdd2e7d
71de2df
4f0af12
e99d4be
bf768f1
3fa516d
8b2490d
8edbd6c
f4905a3
4777994
7a7ffd1
3426afb
84d0925
88ba5a0
c9e6980
5c721ce
30bc675
4954994
42bb708
ff8d53f
f70bb74
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In principle this could fail if, for example, gradualizer had an additional dependency which was not started. Maybe relax the matching to an
{ok, _}
or similar?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, I wonder if we shouldn't execute this only once during the negotiation phase between client and server.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Gradualizer is written with no runtime dependencies other than OTP libs. This check, together with the second clause
{ok, []}
, effectively makes this code run only the first timestart_and_load
is called.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can't the column be used for the diagnostic?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We had some trouble making this work reliably, but I don't remember the details. I think this is something worth working out in the future, but is not critical for getting the warnings - they're just reported at line granularity for now.