diff options
| author | simonpj <unknown> | 2005-10-17 11:11:15 +0000 |
|---|---|---|
| committer | simonpj <unknown> | 2005-10-17 11:11:15 +0000 |
| commit | 9137abfe168cec9d253484ee120d0cc744f2bc59 (patch) | |
| tree | a422c42d490274a5954c054ca7c056b1b01f8c72 /ghc/compiler/hsSyn/Convert.lhs | |
| parent | b16992d66aa5f610de586eb8a720214b8065bd65 (diff) | |
| download | haskell-9137abfe168cec9d253484ee120d0cc744f2bc59.tar.gz | |
[project @ 2005-10-17 11:11:15 by simonpj]
Buglets in GADT record-syntax stuff, which killed the weekend builds
Diffstat (limited to 'ghc/compiler/hsSyn/Convert.lhs')
| -rw-r--r-- | ghc/compiler/hsSyn/Convert.lhs | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/ghc/compiler/hsSyn/Convert.lhs b/ghc/compiler/hsSyn/Convert.lhs index 751623da35..ab9cf2c278 100644 --- a/ghc/compiler/hsSyn/Convert.lhs +++ b/ghc/compiler/hsSyn/Convert.lhs @@ -105,21 +105,22 @@ cvt_top loc (ForeignD (ExportF callconv as nm typ)) mk_con loc con = L loc $ mk_nlcon con where + -- Can't handle GADTs yet mk_nlcon con = case con of NormalC c strtys - -> ConDecl (L loc (cName c)) noExistentials (noContext loc) - (PrefixCon (map mk_arg strtys)) + -> ConDecl (L loc (cName c)) Explicit noExistentials (noContext loc) + (PrefixCon (map mk_arg strtys)) ResTyH98 RecC c varstrtys - -> ConDecl (L loc (cName c)) noExistentials (noContext loc) - (RecCon (map mk_id_arg varstrtys)) + -> ConDecl (L loc (cName c)) Explicit noExistentials (noContext loc) + (RecCon (map mk_id_arg varstrtys)) ResTyH98 InfixC st1 c st2 - -> ConDecl (L loc (cName c)) noExistentials (noContext loc) - (InfixCon (mk_arg st1) (mk_arg st2)) + -> ConDecl (L loc (cName c)) Explicit noExistentials (noContext loc) + (InfixCon (mk_arg st1) (mk_arg st2)) ResTyH98 ForallC tvs ctxt (ForallC tvs' ctxt' con') -> mk_nlcon (ForallC (tvs ++ tvs') (ctxt ++ ctxt') con') ForallC tvs ctxt con' -> case mk_nlcon con' of - ConDecl l [] (L _ []) x -> - ConDecl l (cvt_tvs loc tvs) (cvt_context loc ctxt) x + ConDecl l _ [] (L _ []) x ResTyH98 -> + ConDecl l Explicit (cvt_tvs loc tvs) (cvt_context loc ctxt) x ResTyH98 c -> panic "ForallC: Can't happen" mk_arg (IsStrict, ty) = L loc $ HsBangTy HsStrict (cvtType loc ty) mk_arg (NotStrict, ty) = cvtType loc ty |
