-
Notifications
You must be signed in to change notification settings - Fork 97
Fix spaninfo Haddocks for local modules #678
Conversation
The regression was introduced in haskell#630. I added `GhcSessionDeps` with the idea of reusing the typecheck GHC session for computing the SpanInfo, instead of rebuilding it from scratch. But I forgot to actually reuse it, or maybe the change got lost during the merge.
Is there any test that will stop us breaking it again in the future? |
Benchmarks here - https://github.com/pepeiborra/ghcide/tree/fix-spaninfo-benchmarks/bench-hist Sadly the |
Good question. There are tests for this, but they fall short of checking for comments! |
I have extended the tests that were intended to verify for this condition, and checked that they would fail without this patch |
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.
Thanks!
The profiler points towards GHC, although there are no details below |
5c5634a
to
6074a45
Compare
I have looked at the performance regression after switching to
I suspect that all three cases are simply providing more answers and doing more work now that the Ghc session is correctly loaded with the dependencies. There are some low hanging fruits in cases 2 and 3 which I'll address in a separate PR. |
Thanks for the analysis. Happy to leave this for a separate PR. |
* Fix regression in SpanInfo haddocks for local modules The regression was introduced in haskell/ghcide#630. I added `GhcSessionDeps` with the idea of reusing the typecheck GHC session for computing the SpanInfo, instead of rebuilding it from scratch. But I forgot to actually reuse it, or maybe the change got lost during the merge. * Add test
* Fix regression in SpanInfo haddocks for local modules The regression was introduced in haskell/ghcide#630. I added `GhcSessionDeps` with the idea of reusing the typecheck GHC session for computing the SpanInfo, instead of rebuilding it from scratch. But I forgot to actually reuse it, or maybe the change got lost during the merge. * Add test
* Fix regression in SpanInfo haddocks for local modules The regression was introduced in haskell/ghcide#630. I added `GhcSessionDeps` with the idea of reusing the typecheck GHC session for computing the SpanInfo, instead of rebuilding it from scratch. But I forgot to actually reuse it, or maybe the change got lost during the merge. * Add test
The regression was introduced in #630.
I added
GhcSessionDeps
with the idea of reusing the typecheck GHC sessionfor computing the SpanInfo, instead of rebuilding it from scratch.
But I forgot to actually reuse it, or maybe the change got lost during the merge.