id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,os,architecture,failure,difficulty,testcase,blockedby,blocking,related
7548,GHC API dependency analysis is broken,MikolajKonarski,,"Sometimes, when a module fails to compile, GHC API invalidates other modules that do not depend on it (the attached example shows that) and sometimes the opposite --- it does not invalidate modules it should (I haven't created a standalone example with that so far). The problem is deterministic, but depends on the order in which targets are added using addSingle.

Generally, it seems if module B imports A, it correctly assumes A does not depend on B, but if B does not import A, it sometimes assumes A must depend on B, even if neither mentions the other. See comments in the example.

To reproduce, compile the example with

ghc --make typecheck-dir.hs -package ghc-7.4.2

create directory ./tmp and run typecheck-dir. You should see that module XXX is needlessly recompiled.",bug,closed,highest,7.8.1,GHC API,7.4.2,duplicate,,,Linux,x86_64 (amd64),None/Unknown,Unknown,,,,
