Description
Compiler version
main
Expectation
Currently best-effort compilation does not gracefully handle cyclic-reference type errors. Instead we recognize crashes caused by unpicking them as an unsuccessful best-effort compilation on an IDE side. Additionally any best-effort crash in a vulpix test suite should show a message with a way to disable the best-effort test on CI.
Unpickling cyclic-reference types however crash with StackOverflow errors which makes the CI fix message not show, causing friction to compiler contributors.
Ideally we want to replace any part of cyclic-reference crash with a ErrorType, so that the file can be freely pickled and unpicked. We don't want to do it in typer, so perhaps let's add another phase (triggered only with -Ybest-effort, after erroring in typer) after that to recognize and replace cyclic-reference types.