on master help sign in
Added explicit error messages when eliminator/case function generation

fails

commit6f9ba3eb1476a37a12b037a50c20e4541796bce5 authorAhmad Salim Al-Sibahi <asal@itu.dk> dateSun 22 Feb 2015, 18:15 (12 years ago) parentd6ba4b2
1 file changed+2−2
src/Idris/Elab/Data.hs+2−2
src/Idris/Elab/Data.hs+2−2
@@ -317,12 +317,12 @@ elabCaseFun ind paramPos n ty cons info = do
317317 let eliminatorDef = PClauses emptyFC [TotalFn] elimDeclName eliminatorClauses
318318 elimLog $ "-- case function definition: " ++ (show . showDeclImp verbosePPOption) eliminatorDef
319319 State.lift $ idrisCatch (rec_elabDecl info EAll info eliminatorTyDecl)
320− (\err -> do { e <- showErr err ; logLvl 2 ("Error while elaborating eliminator type declaration: " ++ e)})
320+ (ierror . Elaborating "type declaration of " elimDeclName)
321321 -- Do not elaborate clauses if there aren't any
322322 case eliminatorClauses of
323323 [] -> State.lift $ solveDeferred elimDeclName -- Remove meta-variable for type
324324 _ -> State.lift $ idrisCatch (rec_elabDecl info EAll info eliminatorDef)
325− (\err -> do { e <- showErr err ; logLvl 2 ("Error while elaborating eliminator clauses: " ++ e)})
325+ (ierror . Elaborating "clauses of " elimDeclName)
326326 where elimLog :: String -> EliminatorState ()
327327 elimLog s = State.lift (logLvl 2 s)
328328