Disable bogus lint checks about levity polimorphic coerions
authorJoachim Breitner <mail@joachim-breitner.de>
Fri, 31 Mar 2017 13:47:06 +0000 (09:47 -0400)
committerJoachim Breitner <mail@joachim-breitner.de>
Fri, 31 Mar 2017 13:47:06 +0000 (09:47 -0400)
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.

compiler/coreSyn/CoreLint.hs

index 4c3da43..16edcb8 100644 (file)
@@ -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 }}