summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoachim Breitner <mail@joachim-breitner.de>2021-10-20 17:48:28 +0200
committerJoachim Breitner <mail@joachim-breitner.de>2021-10-22 09:51:57 +0200
commit7ff71364649a96ef85232f48687ca98d5fdc252c (patch)
tree46bef13e108327a53e8aecbc916cb202a32a26ef
parentbbe10727ffad07d518610f4176ea4bc29c745bfc (diff)
downloadhaskell-7ff71364649a96ef85232f48687ca98d5fdc252c.tar.gz
Draft: Experiment: Single method Eq class
as discussed in https://mail.haskell.org/pipermail/libraries/2021-October/031463.html Has submodule updates Metric Decrease: T12234 T18304 T783
-rw-r--r--libraries/base/GHC/Base.hs3
1 files changed, 2 insertions, 1 deletions
diff --git a/libraries/base/GHC/Base.hs b/libraries/base/GHC/Base.hs
index e670e42ee8..6868d06862 100644
--- a/libraries/base/GHC/Base.hs
+++ b/libraries/base/GHC/Base.hs
@@ -1432,7 +1432,8 @@ eqString [] [] = True
eqString (c1:cs1) (c2:cs2) = c1 == c2 && cs1 `eqString` cs2
eqString _ _ = False
-{-# RULES "eqString" (==) = eqString #-}
+-- How can this work with -Werror=inline-rule-shadowing
+-- {-# RULES "eqString" (==) = eqString #-}
-- eqString also has a BuiltInRule in GHC.Core.Opt.ConstantFold:
-- eqString (unpackCString# (Lit s1)) (unpackCString# (Lit s2)) = s1==s2