Fix Trac #7585.
authorRichard Eisenberg <eir@cis.upenn.edu>
Tue, 15 Jan 2013 22:19:37 +0000 (17:19 -0500)
committerRichard Eisenberg <eir@cis.upenn.edu>
Wed, 16 Jan 2013 02:34:27 +0000 (21:34 -0500)
commita6ab0a40ac750914640613c77148e948fabf35d5
tree0e7779f81390821e94a3abd334c688d577d57363
parentdef97b82b3c5f2787e6eea5ddb52d69b8e86fc82
Fix Trac #7585.

The coercion optimizer was optimizing coercions inside of branched
axiom applications, sometimes invalidating the branch choice within
the axiom application. Now, we check to make sure we are not
invalidating this invariant before proceeding with the optimization.
compiler/coreSyn/CoreLint.lhs
compiler/types/OptCoercion.lhs