X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Frename%2FRnTypes.lhs;h=82bf50a9fd6518802587ac1441ec003e4c210221;hb=3c4a732b0b011cf356eed1ecd4fdc4d5f1aab193;hp=34a19a33c762fa19e416ef00964a17e6b3727f3b;hpb=f750bec77c4f1b6d986dfa237df63a70689e9849;p=ghc-hetmet.git diff --git a/compiler/rename/RnTypes.lhs b/compiler/rename/RnTypes.lhs index 34a19a3..82bf50a 100644 --- a/compiler/rename/RnTypes.lhs +++ b/compiler/rename/RnTypes.lhs @@ -603,7 +603,7 @@ rnPat (NPat lit mb_neg eq _) ) `thenM` \ (mb_neg', fvs2) -> lookupSyntaxName eqName `thenM` \ (eq', fvs3) -> returnM (NPat lit' mb_neg' eq' placeHolderType, - fvs1 `plusFV` fvs2 `plusFV` fvs3 `addOneFV` eqClassName) + fvs1 `plusFV` fvs2 `plusFV` fvs3) -- Needed to find equality on pattern rnPat (NPlusKPat name lit _ _) @@ -612,7 +612,7 @@ rnPat (NPlusKPat name lit _ _) lookupSyntaxName minusName `thenM` \ (minus, fvs2) -> lookupSyntaxName geName `thenM` \ (ge, fvs3) -> returnM (NPlusKPat name' lit' ge minus, - fvs1 `plusFV` fvs2 `plusFV` fvs3 `addOneFV` integralClassName) + fvs1 `plusFV` fvs2 `plusFV` fvs3) -- The Report says that n+k patterns must be in Integral rnPat (LazyPat pat) @@ -637,23 +637,19 @@ rnPat (ParPat pat) rnPat (ListPat pats _) = rnLPats pats `thenM` \ (patslist, fvs) -> - returnM (ListPat patslist placeHolderType, fvs `addOneFV` listTyCon_name) + returnM (ListPat patslist placeHolderType, fvs) rnPat (PArrPat pats _) = rnLPats pats `thenM` \ (patslist, fvs) -> returnM (PArrPat patslist placeHolderType, - fvs `plusFV` implicit_fvs `addOneFV` parrTyCon_name) + fvs `plusFV` implicit_fvs) where implicit_fvs = mkFVs [lengthPName, indexPName] rnPat (TuplePat pats boxed _) - = checkTupSize tup_size `thenM_` + = checkTupSize (length pats) `thenM_` rnLPats pats `thenM` \ (patslist, fvs) -> - returnM (TuplePat patslist boxed placeHolderType, - fvs `addOneFV` tycon_name) - where - tup_size = length pats - tycon_name = tupleTyCon_name boxed tup_size + returnM (TuplePat patslist boxed placeHolderType, fvs) rnPat (TypePat name) = rnHsTypeFVs (text "In a type pattern") name `thenM` \ (name', fvs) ->