@@ -180,9 +180,10 @@ typeCheckAll mainModuleName moduleName (d@(FixityDeclaration _ name) : rest) = d
180typeCheckAll mainModuleName currentModule (d@(ImportDeclaration moduleName _ _) : rest) = do
180typeCheckAll mainModuleName currentModule (d@(ImportDeclaration moduleName _ _) : rest) = do
181 env <- getEnv
181 env <- getEnv
182 let instances = filter (\tcd -> let Qualified (Just mn) _ = tcdName tcd in moduleName == mn) (typeClassDictionaries env)
182 let instances = filter (\tcd -> let Qualified (Just mn) _ = tcdName tcd in moduleName == mn) (typeClassDictionaries env)
183− forM_ instances $ \tcd -> do
184− let (Qualified _ ident) = tcdName tcd
185− addTypeClassDictionaries [tcd { tcdName = Qualified (Just currentModule) ident, tcdType = TCDAlias (canonicalizeDictionary tcd) }]
183+ addTypeClassDictionaries [ tcd { tcdName = Qualified (Just currentModule) ident, tcdType = TCDAlias (canonicalizeDictionary tcd) }
185+ , let (Qualified _ ident) = tcdName tcd
186 ds <- typeCheckAll mainModuleName currentModule rest
187 ds <- typeCheckAll mainModuleName currentModule rest
187 return $ d : ds
188 return $ d : ds
188typeCheckAll mainModuleName moduleName (d@(TypeClassDeclaration pn args tys) : rest) = do
189typeCheckAll mainModuleName moduleName (d@(TypeClassDeclaration pn args tys) : rest) = do