Fix #11407.
authorRichard Eisenberg <eir@cis.upenn.edu>
Mon, 22 Feb 2016 17:54:56 +0000 (12:54 -0500)
committerRichard Eisenberg <eir@cis.upenn.edu>
Tue, 15 Mar 2016 01:44:16 +0000 (21:44 -0400)
commite9bf7bb5cc9fb3f87dd05111aa23da76b86a8967
tree7b8ccfa63aae3acce2ea00178572056b02c329ca
parent18fbfa39104b92a05061ec5f6f5bf3b84b462605
Fix #11407.

This removes the `defer_me` check that was in checkTauTvUpdate
and uses only a type family check instead. The old defer_me check
repeated work done by fast_check in occurCheckExpand.

There is also some error message improvement, necessitated by
the terrible error message that the test case produced, even when
it didn't consume all of memory.

test case: dependent/should_fail/T11407

[skip ci]
compiler/typecheck/TcErrors.hs
compiler/typecheck/TcUnify.hs
compiler/types/TyCoRep.hs
compiler/types/Type.hs
compiler/types/Type.hs-boot
testsuite/tests/dependent/should_fail/T11407.hs [new file with mode: 0644]
testsuite/tests/dependent/should_fail/T11407.stderr [new file with mode: 0644]
testsuite/tests/dependent/should_fail/all.T