diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2014-03-07 16:50:17 +0000 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2014-03-07 16:51:38 +0000 |
commit | cf1a0f971966af633fbd932ad012ce716680465b (patch) | |
tree | 2711a57ccd63b592a02120a80b5da1e39927cf33 /compiler/vectorise | |
parent | cdac487bcd9928d77738f6e79ead7b9bb4bc00fd (diff) | |
download | haskell-cf1a0f971966af633fbd932ad012ce716680465b.tar.gz |
Fix the treatment of lexically scoped kind variables (Trac #8856)
The issue here is described in Note [Binding scoped type variables] in
TcPat. When implementing this fix I was able to make things quite a
bit simpler:
* The type variables in a type signature now never unify
with each other, and so can be straightfoward skolems.
* We only need the SigTv stuff for signatures in patterns,
and for kind variables.
Diffstat (limited to 'compiler/vectorise')
-rw-r--r-- | compiler/vectorise/Vectorise/Generic/PData.hs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/vectorise/Vectorise/Generic/PData.hs b/compiler/vectorise/Vectorise/Generic/PData.hs index 37358c9bdf..387d49c3ad 100644 --- a/compiler/vectorise/Vectorise/Generic/PData.hs +++ b/compiler/vectorise/Vectorise/Generic/PData.hs @@ -45,7 +45,7 @@ buildDataFamInst :: Name -> TyCon -> TyCon -> AlgTyConRhs -> VM FamInst buildDataFamInst name' fam_tc vect_tc rhs = do { axiom_name <- mkDerivedName mkInstTyCoOcc name' - ; (_, tyvars') <- liftDs $ tcInstSkolTyVarsLoc (getSrcSpan name') tyvars + ; (_, tyvars') <- liftDs $ tcInstSigTyVarsLoc (getSrcSpan name') tyvars ; let ax = mkSingleCoAxiom axiom_name tyvars' fam_tc pat_tys rep_ty tys' = mkTyVarTys tyvars' rep_ty = mkTyConApp rep_tc tys' |