id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,os,architecture,failure,difficulty,testcase,blockedby,blocking,related
5837,Context reduction stack overflow can take very long,dreixel,simonpj,"The following code, taken from the ""Haskell Type Constraints Unleashed"" paper:
{{{
{-# LANGUAGE TypeFamilies #-}

type family TF a :: *
type instance TF (a,b) = (TF a, TF b)

t :: (a ~ TF (a,Int)) => Int
t = undefined
}}}
fails almost immediately with `Context reduction stack overflow` on GHC 7.2, but seems to loop forever with 7.4.1-rc2. Setting `-fcontext-stack` to `20` results in near immediate termination with the same error. But #5395 raised the context stack size default to `200`, which makes this code (that does not use `-XUndecidableInstances`) take ""forever"" to compile.
",bug,closed,normal,7.6.1,Compiler (Type checker),7.4.1-rc2,fixed,,,Unknown/Multiple,Unknown/Multiple,None/Unknown,Unknown,perf/compiler/T5837,,,
