De-synonym the types of the abtracted term variables in SpecConstr
authorSimon Peyton Jones <simonpj@microsoft.com>
Mon, 5 Sep 2011 07:16:58 +0000 (08:16 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Mon, 5 Sep 2011 07:16:58 +0000 (08:16 +0100)
commite45c35fb4594668acfeeb7d9916c9b2eb03bbe22
tree8b6e3d3d38d66ec78feed733cd90c2f4ecf1a9b1
parentde9b85fa3fb6d4cd593366e1f2383cd0b492c056
De-synonym the types of the abtracted term variables in SpecConstr

This was making Text.PrettyPrint.HughesPJ give a lint-bug
when the libraries were compiled with -O2.

It's all caused by phantom type synonyms (which are, generally
speaking, a royal pain).  The fix is simple, but a bit brutal.

See Note [Free type variables of the qvar types].
compiler/specialise/SpecConstr.lhs