Closed johnynek closed 7 months ago
Attention: 10 lines
in your changes are missing coverage. Please review.
Comparison is base (
92c5905
) 92.51% compared to head (74c95eb
) 92.32%.
Files | Patch % | Lines |
---|---|---|
.../src/main/scala/org/bykn/bosatsu/rankn/Infer.scala | 95.68% | 5 Missing :warning: |
...e/src/main/scala/org/bykn/bosatsu/rankn/Type.scala | 93.58% | 5 Missing :warning: |
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
relates to #650
The idea is: if we can already see the sigma type in an annotation or apply, then we see if we can use simple instantiation to match the expected type. If so, we use that. The algorithm we have can only set meta variables to rho types (they can't directly hold forall or exists), so this allows some annotated inferences to be checked that would otherwise not typecheck. It doesn't change the inference in cases without annotations.
This is not exactly the quicklook algorithm, I don't think, but it is at least very related.
I should add some of the tests from the paper.