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
Introduce an efficient typing rule for let-bindings in Typeops.
When the expand_let typing flag is set in the environment, we change
the kernel typing rule for let-bindings from
let x := t in u : T{x := t}
to
let x := t in u : let x := t in T.
We cannot do this by default since it may change the inferred type for
some expressions, which is returned when the expected type is not
provided. To work around this, we statically set the flag in expressions
for which the precise inferred type is not relevant. For now there is
no user-facing flag that would allow setting this option in a more
fine-grained way though, but it is easy to fix.
This is a revival of #13606 and a partial fix of #11838. The latter still
suffers from superlinear blowups in unrelated parts of the kernel, namely
VM and native compilation.
0 commit comments