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.
Anyone who uses expostal along with Dialyzer will have unsolvable type-spec errors right now because Dialyzer can't peer into the NIF to see what the actual return will be - it will assume that the functions parse_address() and expand_address() only call exit() - and as a result it is a no_return instead of whatever is written into the typespec.
This PR uses a workaround to still raise the error when the NIF isn't loaded, but to let Dialyzer know what the actual returns can be. It also fixes the typespec for parse_address to indicate that it actually returns a map, not a string.