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 +481,7 @@ mkHiFileResultNoCompile session tcm = do
444
481
details <- makeSimpleDetails hsc_env_tmp tcGblEnv
445
482
sf <- finalSafeMode (ms_hspp_opts ms) tcGblEnv
446
483
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]
484
+
let iface = iface' { mi_globals =Nothing, mi_usages = filterUsages (mi_usages iface') } -- See Note [Clearing mi_globals after generating an iface]
448
485
pure$! mkHiFileResult ms iface details (tmrRuntimeModules tcm) Nothing
449
486
450
487
mkHiFileResultCompile
@@ -486,7 +523,7 @@ mkHiFileResultCompile se session' tcm simplified_guts = catchErrs $ do
486
523
let!partial_iface = force (mkPartialIface session details simplified_guts)
487
524
final_iface' <- mkFullIface session partial_iface
488
525
#endif
489
-
let final_iface = final_iface' {mi_globals =Nothing} -- See Note [Clearing mi_globals after generating an iface]
526
+
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
527
491
528
-- Write the core file now
492
529
core_file <-case mguts of
@@ -1462,7 +1499,8 @@ loadInterface session ms linkableNeeded RecompilationInfo{..} = do
0 commit comments