Add a necessary [] error case
[ghc-hetmet.git] / compiler / parser / RdrHsSyn.lhs
index 2fb494e..458ebf4 100644 (file)
@@ -712,12 +712,12 @@ checkAPat loc e = case e of
                                _ -> patFail loc
    
    HsPar e           -> checkLPat e >>= (return . ParPat)
-   ExplicitList _ es  -> do ps <- mapM (\e -> checkLPat e) es
+   ExplicitList _ es  -> do ps <- mapM checkLPat es
                             return (ListPat ps placeHolderType)
-   ExplicitPArr _ es  -> do ps <- mapM (\e -> checkLPat e) es
+   ExplicitPArr _ es  -> do ps <- mapM checkLPat es
                             return (PArrPat ps placeHolderType)
    
-   ExplicitTuple es b -> do ps <- mapM (\e -> checkLPat e) es
+   ExplicitTuple es b -> do ps <- mapM checkLPat es
                             return (TuplePat ps b placeHolderType)
    
    RecordCon c _ (HsRecFields fs dd)
@@ -1021,6 +1021,7 @@ parseDImport (L loc entity) = parse0 comps
   parse2 _ _ [] = d'oh
   parse2 isStatic kind (('[':x):xs) =
      case x of
+        [] -> d'oh
         vs | last vs == ']' -> parse3 isStatic kind (init vs) xs
         _ -> d'oh
   parse2 isStatic kind xs = parse3 isStatic kind "" xs