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
Avoid unnecessary Target canonicalisation in Session setup (#2359)
* Add test-case for projects that use symbolic links
In particular, this test checks whether modules that are actually
symbolic lins can be found by ghcide.
This is known to be broken, as Session.hs canonicalises Targets, e.g.
saves the location of the symbolic link. When we later try to load that
module, we can't find it, as it won't be part of the known targets since
it is not canonicalized.
* Dont canonicalise Targets during session setup
Canonicalising Targets makes it harder later to actually find the
targets during import analysis, as ghcide only looks for modules in the
import paths and checks for existence in the known target Map.
However, import analysis doesn't canonicalise target candidates, thus
the lookup in the known target Map will always fail.
We no longer canonicalise Targets, so import analysis will succeed
loading modules that are actually symbolic links.
* Prefer makeAbsolute over canonicalizePath
* Use makeAbsolute to read HIE files from disk
* Restore repeated builds
the ghcide build fails for win and ghc-8.8 with segfaults
Co-authored-by: Javier Neira <[email protected]>
Co-authored-by: Pepe Iborra <[email protected]>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
0 commit comments