From 85eebc52605f5fd4d3bbdb1a37f7134948f740ca Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Tue, 10 Oct 2006 15:30:23 +0000 Subject: [PATCH] getMainDeclBinder should return Nothing for a binding with no variables See test rn003 --- compiler/hsSyn/HsUtils.lhs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/compiler/hsSyn/HsUtils.lhs b/compiler/hsSyn/HsUtils.lhs index 5d7132e..b0978ec 100644 --- a/compiler/hsSyn/HsUtils.lhs +++ b/compiler/hsSyn/HsUtils.lhs @@ -428,7 +428,10 @@ collect_pat other acc = acc -- Literals, vars, wildcard getMainDeclBinder :: HsDecl name -> Maybe name getMainDeclBinder (TyClD d) = Just (tcdName d) -getMainDeclBinder (ValD d) = Just ((unLoc . head) (collectAcc d [])) +getMainDeclBinder (ValD d) + = case collectAcc d [] of + [] -> Nothing -- see rn003 + (name:_) -> Just (unLoc name) getMainDeclBinder (SigD d) = sigNameNoLoc d getMainDeclBinder (ForD (ForeignImport name _ _)) = Just (unLoc name) getMainDeclBinder (ForD (ForeignExport name _ _)) = Just (unLoc name) -- 1.7.10.4