Be lazier when typechecking data type contexts (Trac #7321)
Be lazier when typechecking data type contexts (Trac #7321)

We should be lazy when type-checking the equality-contraint
part of a data constructor's type, to make the knot-tying
work out right.  The fact that it's always worked before
is a fluke: no one else wrote a GADT whose type index mentions
itself
  data T a wher
    MkT :: T (T Int)

ezyang/ghc,fmthoma/ghc,shlevy/ghc,oldmanmike/ghc,gridaphobe/ghc,anton-dessiatov/ghc,nushio3/ghc,ekmett/ghc,lukexi/ghc-7.8-arm64,elieux/ghc,ekmett/ghc,da-x/ghc,green-haskell/ghc,mettekou/ghc,AlexanderPankiv/ghc,mcschroeder/ghc,elieux/ghc,forked-upstream-packages-for-ghcjs/ghc,christiaanb/ghc,oldmanmike/ghc,forked-upstream-packages-for-ghcjs/ghc,gridaphobe/ghc,siddhanathan/ghc,nathyong/microghc-ghc,elieux/ghc,mettekou/ghc,lukexi/ghc-7.8-arm64,mcschroeder/ghc,snoyberg/ghc,snoyberg/ghc,mettekou/ghc,vikraman/ghc,TomMD/ghc,sdiehl/ghc,siddhanathan/ghc,sdiehl/ghc,bitemyapp/ghc,lukexi/ghc,olsner/ghc,vTurbine/ghc,fmthoma/ghc,bitemyapp/ghc,wxwxwwxxx/ghc,TomMD/ghc,wxwxwwxxx/ghc,lukexi/ghc,snoyberg/ghc,nkaretnikov/ghc,fmthoma/ghc,nushio3/ghc,olsner/ghc,gcampax/ghc,mfine/ghc,gcampax/ghc,spacekitteh/smcghc,urbanslug/ghc,holzensp/ghc,hferreiro/replay,gcampax/ghc,olsner/ghc,ml9951/ghc,shlevy/ghc,nkaretnikov/ghc,anton-dessiatov/ghc,mfine/ghc,hferreiro/replay,vikraman/ghc,mcschroeder/ghc,fmthoma/ghc,nathyong/microghc-ghc,snoyberg/ghc,ghc-android/ghc,vikraman/ghc,oldmanmike/ghc,frantisekfarka/ghc-dsi,gridaphobe/ghc,mfine/ghc,snoyberg/ghc,mettekou/ghc,christiaanb/ghc,acowley/ghc,da-x/ghc,urbanslug/ghc,tibbe/ghc,spacekitteh/smcghc,oldmanmike/ghc,ezyang/ghc,lukexi/ghc,tibbe/ghc,sdiehl/ghc,jstolarek/ghc,gcampax/ghc,gcampax/ghc,frantisekfarka/ghc-dsi,frantisekfarka/ghc-dsi,urbanslug/ghc,nkaretnikov/ghc,siddhanathan/ghc,vikraman/ghc,tjakway/ghcjvm,nathyong/microghc-ghc,christiaanb/ghc,GaloisInc/halvm-ghc,nathyong/microghc-ghc,ryantm/ghc,da-x/ghc,sgillespie/ghc,sdiehl/ghc,mettekou/ghc,jstolarek/ghc,anton-dessiatov/ghc,nushio3/ghc,mfine/ghc,siddhanathan/ghc,GaloisInc/halvm-ghc,siddhanathan/ghc,christiaanb/ghc,christiaanb/ghc,olsner/ghc,ezyang/ghc,mfine/ghc,nushio3/ghc,urbanslug/ghc,shlevy/ghc,wxwxwwxxx/ghc,mcschroeder/ghc,elieux/ghc,spacekitteh/smcghc,holzensp/ghc,vikraman/ghc,da-x/ghc,anton-dessiatov/ghc,ekmett/ghc,vikraman/ghc,tjakway/ghcjvm,holzensp/ghc,forked-upstream-packages-for-ghcjs/ghc,nushio3/ghc,forked-upstream-packages-for-ghcjs/ghc,ghc-android/ghc,elieux/ghc,wxwxwwxxx/ghc,bitemyapp/ghc,vTurbine/ghc,GaloisInc/halvm-ghc,ezyang/ghc,nkaretnikov/ghc,green-haskell/ghc,nushio3/ghc,GaloisInc/halvm-ghc,acowley/ghc,AlexanderPankiv/ghc,acowley/ghc,elieux/ghc,snoyberg/ghc,sgillespie/ghc,ghc-android/ghc,mettekou/ghc,ezyang/ghc,acowley/ghc,anton-dessiatov/ghc,frantisekfarka/ghc-dsi,vTurbine/ghc,ml9951/ghc,nkaretnikov/ghc,TomMD/ghc,ml9951/ghc,hferreiro/replay,AlexanderPankiv/ghc,fmthoma/ghc,ml9951/ghc,elieux/ghc,gcampax/ghc,nushio3/ghc,shlevy/ghc,TomMD/ghc,nkaretnikov/ghc,jstolarek/ghc,olsner/ghc,mcschroeder/ghc,jstolarek/ghc,wxwxwwxxx/ghc,gridaphobe/ghc,ryantm/ghc,spacekitteh/smcghc,ghc-android/ghc,lukexi/ghc-7.8-arm64,hferreiro/replay,nkaretnikov/ghc,christiaanb/ghc,ryantm/ghc,holzensp/ghc,wxwxwwxxx/ghc,forked-upstream-packages-for-ghcjs/ghc,olsner/ghc,snoyberg/ghc,anton-dessiatov/ghc,ghc-android/ghc,sdiehl/ghc,AlexanderPankiv/ghc,forked-upstream-packages-for-ghcjs/ghc,mcschroeder/ghc,tjakway/ghcjvm,spacekitteh/smcghc,urbanslug/ghc,sgillespie/ghc,siddhanathan/ghc,ml9951/ghc,shlevy/ghc,jstolarek/ghc,shlevy/ghc,mfine/ghc,ezyang/ghc,bitemyapp/ghc,gridaphobe/ghc,sgillespie/ghc,ekmett/ghc,frantisekfarka/ghc-dsi,sgillespie/ghc,tibbe/ghc,nathyong/microghc-ghc,GaloisInc/halvm-ghc,ghc-android/ghc,tibbe/ghc,gridaphobe/ghc,green-haskell/ghc,olsner/ghc,TomMD/ghc,GaloisInc/halvm-ghc,sdiehl/ghc,vTurbine/ghc,christiaanb/ghc,AlexanderPankiv/ghc,tjakway/ghcjvm,oldmanmike/ghc,ghc-android/ghc,AlexanderPankiv/ghc,green-haskell/ghc,holzensp/ghc,ekmett/ghc,sgillespie/ghc,gridaphobe/ghc,nathyong/microghc-ghc,hferreiro/replay,TomMD/ghc,TomMD/ghc,tibbe/ghc,green-haskell/ghc,lukexi/ghc-7.8-arm64,GaloisInc/halvm-ghc,urbanslug/ghc,acowley/ghc,hferreiro/replay,oldmanmike/ghc,lukexi/ghc-7.8-arm64,ezyang/ghc,tjakway/ghcjvm,tjakway/ghcjvm,acowley/ghc,oldmanmike/ghc,vTurbine/ghc,siddhanathan/ghc,vTurbine/ghc,fmthoma/ghc,mfine/ghc,ryantm/ghc,lukexi/ghc,lukexi/ghc,ml9951/ghc,da-x/ghc,shlevy/ghc,sdiehl/ghc,vikraman/ghc,nathyong/microghc-ghc,hferreiro/replay,acowley/ghc,forked-upstream-packages-for-ghcjs/ghc,sgillespie/ghc,ryantm/ghc,da-x/ghc,gcampax/ghc,da-x/ghc,bitemyapp/ghc,wxwxwwxxx/ghc,anton-dessiatov/ghc,vTurbine/ghc,AlexanderPankiv/ghc,mettekou/ghc,urbanslug/ghc,fmthoma/ghc,ml9951/ghc,tjakway/ghcjvm,mcschroeder/ghc,ml9951/ghc