diff options
author | Ryan Scott <ryan.gl.scott@gmail.com> | 2018-11-22 11:52:12 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2018-11-22 13:14:02 -0500 |
commit | 014d6c1f08808c4dab6cba80efdc634527d91086 (patch) | |
tree | 7ca1bdf81bb317cbecc49470bebcfd4c7c59ccd8 /compiler/iface | |
parent | 66f0056ae1279c3149053aa600c7fe09575212b1 (diff) | |
download | haskell-014d6c1f08808c4dab6cba80efdc634527d91086.tar.gz |
Fix #15852 by eta expanding data family instance RHSes, too
When I defined `etaExpandFamInstLHS`, I blatantly forgot
to eta expand the RHSes of data family instances. (Actually, I
claimed that they didn't //need// to be eta expanded. I'm not sure
what I was thinking.)
This fixes the issue by changing `etaExpandFamInstLHS` to
`etaExpandFamInst` and, well, making it actually eta expand the RHS.
Test Plan: make test TEST=T15852
Reviewers: goldfire, bgamari
Reviewed By: goldfire
Subscribers: rwbarton, carter
GHC Trac Issues: #15852
Differential Revision: https://phabricator.haskell.org/D5328
Diffstat (limited to 'compiler/iface')
-rw-r--r-- | compiler/iface/ToIface.hs-boot | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/compiler/iface/ToIface.hs-boot b/compiler/iface/ToIface.hs-boot index e5f57ff9a3..6e2fc66ee6 100644 --- a/compiler/iface/ToIface.hs-boot +++ b/compiler/iface/ToIface.hs-boot @@ -4,6 +4,7 @@ import {-# SOURCE #-} TyCoRep import {-# SOURCE #-} IfaceType( IfaceType, IfaceTyCon, IfaceForAllBndr , IfaceCoercion, IfaceTyLit, IfaceAppArgs ) import Var ( TyCoVarBinder ) +import VarEnv ( TidyEnv ) import TyCon ( TyCon ) import VarSet( VarSet ) @@ -14,3 +15,4 @@ toIfaceForAllBndr :: TyCoVarBinder -> IfaceForAllBndr toIfaceTyCon :: TyCon -> IfaceTyCon toIfaceTcArgs :: TyCon -> [Type] -> IfaceAppArgs toIfaceCoercionX :: VarSet -> Coercion -> IfaceCoercion +tidyToIfaceTcArgs :: TidyEnv -> TyCon -> [Type] -> IfaceAppArgs |