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
1. Recompilation avoidance regresses in GHC 9.4 due to interactions between GHC and HLS's implementations.
Avoid this by filtering out the information that causes the conflict
See https://gitlab.haskell.org/ghc/ghc/-/issues/22744.
2. The recompilation avoidance info GHC stores in interfaces can blow up to be
extremely large when deserialised from disk. See https://gitlab.haskell.org/ghc/ghc/-/issues/22744
Deduplicate these filepaths.
@@ -444,7 +468,7 @@ mkHiFileResultNoCompile session tcm = do
444
468
details <- makeSimpleDetails hsc_env_tmp tcGblEnv
445
469
sf <- finalSafeMode (ms_hspp_opts ms) tcGblEnv
446
470
iface' <- mkIfaceTc hsc_env_tmp sf details ms tcGblEnv
447
-
let iface = iface' { mi_globals =Nothing } -- See Note [Clearing mi_globals after generating an iface]
471
+
let iface = iface' { mi_globals =Nothing, mi_usages = filterUsages (mi_usages iface') } -- See Note [Clearing mi_globals after generating an iface]
448
472
pure$! mkHiFileResult ms iface details (tmrRuntimeModules tcm) Nothing
449
473
450
474
mkHiFileResultCompile
@@ -486,7 +510,7 @@ mkHiFileResultCompile se session' tcm simplified_guts = catchErrs $ do
486
510
let!partial_iface = force (mkPartialIface session details simplified_guts)
487
511
final_iface' <- mkFullIface session partial_iface
488
512
#endif
489
-
let final_iface = final_iface' {mi_globals =Nothing} -- See Note [Clearing mi_globals after generating an iface]
513
+
let final_iface = final_iface' {mi_globals =Nothing, mi_usages = filterUsages (mi_usages final_iface')} -- See Note [Clearing mi_globals after generating an iface]
490
514
491
515
-- Write the core file now
492
516
core_file <-case mguts of
@@ -1462,7 +1486,8 @@ loadInterface session ms linkableNeeded RecompilationInfo{..} = do
0 commit comments