@@ -49,6 +49,11 @@ moduleToCoreFn env (A.Module mn decls (Just exps)) =
49moduleToCoreFn _ (A.Module{}) =
49moduleToCoreFn _ (A.Module{}) =
50 error "Module exports were not elaborated before moduleToCoreFn"
50 error "Module exports were not elaborated before moduleToCoreFn"
53+-- Find module names from qualified references to values. This is used to
54+-- ensure instances are imported from any module that is referenced by the
55+-- current module, not just from those that are imported explicitly (#667).
52findQualModules :: [A.Declaration] -> [ModuleName]
57findQualModules :: [A.Declaration] -> [ModuleName]
53findQualModules decls =
58findQualModules decls =
54 let (f, _, _, _, _) = everythingOnValues (++) (const []) fqValues (const []) (const []) (const [])
59 let (f, _, _, _, _) = everythingOnValues (++) (const []) fqValues (const []) (const []) (const [])