Skip to content

Infer rho-types instead of sigma-types in guard BindStmts and TransStmts

Sebastian Graf requested to merge wip/T17343 into master

In #17343 (closed) we saw that we didn't handle the pattern guard !_ <- undefined correctly: The undefined was never evaluated. Indeed, elaboration failed to insert the invisible type aruments to undefined. So undefined was trivially a normal-form and in turn never entered.

The problem is that we used to infer a sigma-type for the RHS of the guard, the leading qualifiers of which will never be useful in a pattern match situation. Hence we infer a rho-type now.

Fixes #17343 (closed).

Merge request reports