Add support for module_info functions #496
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.
I finally come up with a PR that fixes #473.
I am an Elixir person and haven't written almost any Erlang code before so there may be some things that could be done more idiomatically.
I think I got some (quite little still) idea how Gradualizer works but one thing still isn't clear to me – why isn't
type_check_expr_in
implemented in terms oftype_check_expr
. From my limited perspective, it could just determine the type of the expression by callingtype_check_expr_in
and then check whether the type is indeed a subtype ofResTy
. Why wouldn't that work?