From f7421079f39650d4437c8609edbdf55754618348 Mon Sep 17 00:00:00 2001 From: Joshua Clayton Date: Sat, 11 Jun 2016 06:08:51 -0400 Subject: [PATCH] Fail inside the context of a monad instead of erroring --- src/Unused/ResultsClassifier/Types.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Unused/ResultsClassifier/Types.hs b/src/Unused/ResultsClassifier/Types.hs index 35a03b7..c434d6f 100644 --- a/src/Unused/ResultsClassifier/Types.hs +++ b/src/Unused/ResultsClassifier/Types.hs @@ -138,5 +138,5 @@ extractMatcher e p = either displayFailure (convertFoundObjectToMatcher p) e convertFoundObjectToMatcher :: (Monad m, Alternative m) => m (Maybe a) -> (a -> b) -> m b convertFoundObjectToMatcher p f = maybe empty (pure . f) =<< p -displayFailure :: T.Text -> a -displayFailure t = error $ "Parse error: '" ++ T.unpack t ++ "' is not a valid key in a singleOnly matcher" +displayFailure :: T.Text -> Y.Parser a +displayFailure t = fail $ "Parse error: '" ++ T.unpack t ++ "' is not a valid key in a singleOnly matcher"