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
Relax assertion in TyperState#commit If there's nothing to commit
If the added test case is run with `-Yforce-sbt-phases`, a LazyRef (created in
the LazyRef case of TypeMap#mapOver) captures a Context. Later, that LazyRef is
forced, but at that point the TyperState of the captured Context is already
committed, so we're not allowed to commit anything in it anymore. But forcing
the LazyRef ends up calling `isFullyDefined` which unconditionally creates a
temporary TyperState and commit it, thus triggering the assertion.
We fix this by relaxing the assertion to allow committing into a TyperState if
there's nothing to commit. This should handle all LazyRefs since they never wrap
uninstantiated type variables in practice.
Fixes#14907.
0 commit comments