summaryrefslogtreecommitdiff
path: root/compiler/rename
diff options
context:
space:
mode:
authorEdward Z. Yang <ezyang@cs.stanford.edu>2016-10-17 14:06:18 -0700
committerEdward Z. Yang <ezyang@cs.stanford.edu>2016-10-17 23:41:25 -0700
commit8fa2cdb16c4db8141b889f2364d8e5fccc62cde3 (patch)
tree9c23367c8239311feaf835d331b8790f3ef742af /compiler/rename
parentcf5eec3eaa638719fd9768c20271f8aa2b2eac1f (diff)
downloadhaskell-8fa2cdb16c4db8141b889f2364d8e5fccc62cde3.tar.gz
Track dep_finsts in exports hash, as it affects downstream deps.
Summary: I also added some more comments about the orphan and family instance hashing business. Fixes #12723. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: bgamari, austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2607 GHC Trac Issues: #12723
Diffstat (limited to 'compiler/rename')
-rw-r--r--compiler/rename/RnNames.hs5
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/rename/RnNames.hs b/compiler/rename/RnNames.hs
index 3b37b18cc2..a57c9952fc 100644
--- a/compiler/rename/RnNames.hs
+++ b/compiler/rename/RnNames.hs
@@ -350,6 +350,11 @@ calculateAvails dflags iface mod_safe' want_boot =
-- Compute new transitive dependencies
+ --
+ -- 'dep_orphs' and 'dep_finsts' do NOT include the imported module
+ -- itself, but we DO need to include this module in 'imp_orphs' and
+ -- 'imp_finsts' if it defines an orphan or instance family; thus the
+ -- orph_iface/has_iface tests.
orphans | orph_iface = ASSERT( not (imp_mod `elem` dep_orphs deps) )
imp_mod : dep_orphs deps