[commit: ghc] master: Disable bogus lint checks about levity polimorphic coerions (03c7dd0)
git at git.haskell.org
git at git.haskell.org
Fri Mar 31 13:57:37 UTC 2017
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/03c7dd0941fb4974be54026ef3e4bb97451c3b1f/ghc
>---------------------------------------------------------------
commit 03c7dd0941fb4974be54026ef3e4bb97451c3b1f
Author: Joachim Breitner <mail at joachim-breitner.de>
Date: Fri Mar 31 09:47:06 2017 -0400
Disable bogus lint checks about levity polimorphic coerions
These checks, introduced in cea7141851ce653cb20207da3591d09e73fa396d
hugely inflated build logs, which incapitated perf.haskell.org.
According to Richard, the checks are useless and wrong, and that Ben
plans to investigate.
(https://phabricator.haskell.org/rGHCcea7141851ce653cb20207da3591d09e73fa396d#64647)
Until that happens, I remove them from the code.
>---------------------------------------------------------------
03c7dd0941fb4974be54026ef3e4bb97451c3b1f
compiler/coreSyn/CoreLint.hs | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/compiler/coreSyn/CoreLint.hs b/compiler/coreSyn/CoreLint.hs
index 4c3da43..16edcb8 100644
--- a/compiler/coreSyn/CoreLint.hs
+++ b/compiler/coreSyn/CoreLint.hs
@@ -1646,11 +1646,7 @@ lintCoercion co@(UnivCo prov r ty1 ty2)
-- see #9122 for discussion of these checks
checkTypes t1 t2
- = do { checkWarnL lev_poly1
- (report "left-hand type is levity-polymorphic")
- ; checkWarnL lev_poly2
- (report "right-hand type is levity-polymorphic")
- ; when (not (lev_poly1 || lev_poly2)) $
+ = do { when (not (lev_poly1 || lev_poly2)) $
do { checkWarnL (reps1 `equalLength` reps2)
(report "between values with different # of reps")
; zipWithM_ validateCoercion reps1 reps2 }}
More information about the ghc-commits
mailing list