From: simonpj@microsoft.com Date: Thu, 10 Aug 2006 12:08:28 +0000 (+0000) Subject: Egregious bug in tcLHsConResTy X-Git-Tag: Before_FC_branch_merge~241 X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=e656c6e3aaa827c51cd39c9cd9f0a6461db1d4c2;hp=d69833a03ae2f15dcc0fdc4851e1d92aeed28dc8 Egregious bug in tcLHsConResTy This terrible bug in tcLHsConTy is pretty much guaranteed to show up on an program involving a GADT with more than one type parameter. This bug isn't present in the STABLE branch. Manuel: it is *not* necesary to merge this patch into the FC branch; just ignore it. --- diff --git a/compiler/typecheck/TcHsType.lhs b/compiler/typecheck/TcHsType.lhs index d906381..b7e5b0b 100644 --- a/compiler/typecheck/TcHsType.lhs +++ b/compiler/typecheck/TcHsType.lhs @@ -561,8 +561,8 @@ tcLHsConResTy res_ty get_largs (L _ ty) args = get_args ty args get_args (HsAppTy fun arg) args = get_largs fun (arg:args) get_args (HsParTy ty) args = get_largs ty args - get_args (HsOpTy ty1 (L span tc) ty2) args = get_args (HsTyVar tc) (ty1:ty2:args) - get_args ty args = (ty, reverse args) + get_args (HsOpTy ty1 (L span tc) ty2) args = (HsTyVar tc, ty1:ty2:args) + get_args ty args = (ty, args) gadtResCtxt ty = hang (ptext SLIT("In the result type of a data constructor:"))