@@ -52,7 +52,7 @@ createBindingGroups moduleName ds = do
5252 let values = filter isValueDecl ds
5353 dataDecls = filter isDataDecl ds
5454 allProperNames = map getProperName dataDecls
55− dataVerts = map (\d -> (d, getProperName d, usedProperNames d `intersect` allProperNames)) dataDecls
55+ dataVerts = map (\d -> (d, getProperName d, usedProperNames moduleName d `intersect` allProperNames)) dataDecls
5656 dataBindingGroupDecls <- mapM toDataBindingGroup $ stronglyConnComp dataVerts
5757 let allIdents = map getIdent values
5858 valueVerts = map (\d -> (d, getIdent d, usedIdents moduleName d `intersect` allIdents)) values
@@ -83,11 +83,11 @@ usedIdents moduleName = nub . everything (++) (mkQ [] names)
8383 names (Var (Qualified (Just moduleName') name)) | moduleName == moduleName' = [name]
8484 names _ = []
8585
86−usedProperNames :: (Data d) => d -> [ProperName]
87−usedProperNames = nub . everything (++) (mkQ [] names)
86+usedProperNames :: (Data d) => ModuleName -> d -> [ProperName]
87+usedProperNames moduleName = nub . everything (++) (mkQ [] names)
8888 where
8989 names :: Type -> [ProperName]
90− names (TypeConstructor (Qualified Nothing name)) = [name]
90+ names (TypeConstructor (Qualified (Just moduleName') name)) | moduleName == moduleName' = [name]
9191 names _ = []
9292
9393getIdent :: Declaration -> Ident