You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thanks, this is a good catch. It is indeed a missing ascription which is confusing the typeclass resolution in F*.
The error message could also be better.
The ascriptions we insert are in nested function calls (which is what makes it works in the if case, and in let bindings. We should add an ascription for match scrutinees.
While I would expect it to, the following snippet does not typecheck:
view on playground
However, when replacing the
match
with anif
, it does, as expected:view on playground
It seems that the array indexing in the first case is missing a
<: u8
type ascription, which gets generated only in theif
case.Is this some specific interaction between the
match
and array indexing, or just the symptom of something else?Credits go to @chrysn for finding this.
The text was updated successfully, but these errors were encountered: