Enable -fdefer-type-errors on start-up #495
So the numbers are slower when there's more code going on. Flagging up a type error is more than twice as slow, and flagging that the code is OK takes an extra 100ms.
It seems to vary based on caching or garbage collection inside the GHC API, because it goes as low as
So, really, roughly twice as slow at picking up type errors. You basically pay the price of doing a full type check every time you request a
In some cases it's consistently much more!
If I insert an error further down in the file.
Warnings regularly get generated when there's an error in your code, such as "not in use" for a thing with a bad type and other nonsense results. It's kind of distracting, so instead like regular GHC behavior, this defers showing warnings until there are no errors anymore.
After using this for a day or two, I reckon this has actually made the common case of flycheck error reporting significantly worse: if you refer to an unimported function, for example, then deferred errors will be reported in the code which calls it, but the root problem itself will not be detected. I feel like reverting this might be the best course of action in the first time.