X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FcoreSyn%2FCoreLint.lhs;fp=compiler%2FcoreSyn%2FCoreLint.lhs;h=0ca5c4365af635f59d99ec09d6ea4339ebaf5c25;hp=c347ed28108dffc98de65ae5faaf68ea431d3c31;hb=116134b1319e60ff38fc3710bd764cff34554837;hpb=8c550edef816864b7dfe0bb68317ff7ef88d3d41 diff --git a/compiler/coreSyn/CoreLint.lhs b/compiler/coreSyn/CoreLint.lhs index c347ed2..0ca5c43 100644 --- a/compiler/coreSyn/CoreLint.lhs +++ b/compiler/coreSyn/CoreLint.lhs @@ -117,11 +117,11 @@ lintCoreBindings binds -- M.n{r3} = ... -- M.n{r29} = ... -- becuase they both get the same linker symbol - ext_dups = findDupsEq eq_ext (map Var.varName binders) - eq_ext n1 n2 | Just m1 <- nameModule_maybe n1 - , Just m2 <- nameModule_maybe n2 - = m1==m2 && nameOccName n1 == nameOccName n2 - | otherwise = False + ext_dups = snd (removeDups ord_ext (map Var.varName binders)) + ord_ext n1 n2 | Just m1 <- nameModule_maybe n1 + , Just m2 <- nameModule_maybe n2 + = compare (m1, nameOccName n1) (m2, nameOccName n2) + | otherwise = LT lint_bind (Rec prs) = mapM_ (lintSingleBinding TopLevel Recursive) prs lint_bind (NonRec bndr rhs) = lintSingleBinding TopLevel NonRecursive (bndr,rhs)