getMainDeclBinder should return Nothing for a binding with no variables
[ghc-hetmet.git] / compiler / hsSyn / HsUtils.lhs
index 5d7132e..b0978ec 100644 (file)
@@ -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)