diff --git a/ghc/compiler/rename/RnEnv.lhs b/ghc/compiler/rename/RnEnv.lhs index a1c404f83300a71863122a4551e06dce6ed1608c..6114665c2fb514dc207c8693b51d712b991a1e9d 100644 --- a/ghc/compiler/rename/RnEnv.lhs +++ b/ghc/compiler/rename/RnEnv.lhs @@ -542,7 +542,12 @@ mkExportAvails mod_name unqual_imp name_env avails -- we delete f from avails unqual_avails | not unqual_imp = [] -- Short cut when no unqualified imports - | otherwise = [prune avail | avail <- avails] + | otherwise = [ avail' | avail <- avails + , let avail' = prune avail + , case avail' of + NotAvailable -> False + _ -> True + ] prune (Avail n) | unqual_in_scope n = Avail n prune (Avail n) | otherwise = NotAvailable