Pulse.Checker.Abs: tweak checking of expected type of abstractions #522
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.
The current check is going via norm_st_typing which ends up doing a
syntactic check over a normalized version of the computed type and
annotation. This is needlessly brittle, and breaks in everparse in some
fancy function types. This can just be replaced by a call to
t_check_equiv.
I couldn't easily write a test for this though... Even in everparse,
the two terms that fail to be syntactically equal appear exactly the
same when printed. Using --ugly, I see differently-nested arrows, but
going via the reflection API should make that not be a problem.