-
-
Notifications
You must be signed in to change notification settings - Fork 364
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support structured diagnostics 2 #4433
base: master
Are you sure you want to change the base?
Support structured diagnostics 2 #4433
Conversation
We're leaving the TODOs for either later in this PR or in another PR
This reverts commit 4fed987.
Had to move `attachReason` between modules to achieve this, which is fine because it was never exported from its own module.
stylish-haskell does not handle CPP pragmas very well, is this a regression?
All failures in the jobs of e651d41 seem to be spurious (except for the stylish-haskell formatting failure). |
I think the remaining failures are not caused by this PR. Are these kinds of spurious failures common in HLS? Also, I would really like to get this merged before the next release, because I want to develop a VS Code extension which uses these diagnostic numbers. |
Yes, they unfortunately are |
Some errors in ghc |
You're right. Can anyone give me some tips on how to profile HLS to see where these timeouts are coming from? |
@noughtmare Profiling is likely not necessary, I think the tests are waiting for an LSP message that never arrives, and then just wait for 60s and time out. Use |
Ah, I was thinking there was some inefficiency somewhere that only GHC 9.6 and later could properly optimize. However, I think you're suggesting an alternative explanation: that one of the conditional CPP blocks contains an actual correctness issue. Perhaps I could just visually inspect those first; I don't think that would be that much work. Edit: no obvious loops or anything, so perhaps some tracing would indeed be better. |
|
||
#if MIN_VERSION_ghc(9,6,1) | ||
pattern PFailedWithErrorMessages :: forall a b. (b -> Bag (MsgEnvelope GhcMessage)) -> ParseResult a | ||
#elif MIN_VERSION_ghc(9,3,0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO: make this the fallthrough case, we don't support GHC versions below 9.4 any more.
This is my attempt at finishing the work of @dylan-thinnes on !4311.
Addresses #2014
Should hopefully enable #3246