
#12660: singletons doesn't compile with GHC 8.0.2 snapshot -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: bug | Status: new Priority: normal | Milestone: 8.0.2 Component: Compiler | Version: Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari): `TcCanonical.canEvVar` calls `TcCanonical.canEvNC` which has no cost center but does have a `traceTcS`. Compiling `singletons` with `-ddump-tc- trace` shows that the compiler indeed seems to be looping in the typechecker, {{{ ... Following filled tyvar s_aov1[fuv:20] = n1_alUY[ssk] GHC.TypeLits.- n0_alUX[ssk] flattenTyVarFinal x2_alWb[sk] :: Nat Nat <Nat>_N :: Nat ~ Nat flattenTyVar1 (x2_alWb[sk] :: Nat) <Nat>_N :: Nat ~ Nat flattenTyVar2 n1_alUY[ssk] x2_alWb[sk] flattenTyVarFinal x1_alWa[sk] :: Nat Nat <Nat>_N :: Nat ~ Nat flattenTyVar1 (x1_alWa[sk] :: Nat) <Nat>_N :: Nat ~ Nat flattenTyVar2 n0_alUX[ssk] x1_alWa[sk] flatten/flat-cache hit GHC.TypeLits.- [x2_alWb[sk], x1_alWa[sk]] s_aov1[fuv:20] Following filled tyvar s_aov1[fuv:20] = n1_alUY[ssk] GHC.TypeLits.- n0_alUX[ssk] ... }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12660#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler