From 87a57146adca00ea614969e6eb80bf5e25febeb5 Mon Sep 17 00:00:00 2001
From: Jens Nolte <git@queezle.net>
Date: Tue, 24 Aug 2021 01:14:44 +0200
Subject: [PATCH] Change impossibleCodePathM to require MonadThrow

Co-authored-by: Jan Beinke <git@janbeinke.com>
---
 src/Quasar/PreludeExtras.hs | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/Quasar/PreludeExtras.hs b/src/Quasar/PreludeExtras.hs
index d70ab6c..689f488 100644
--- a/src/Quasar/PreludeExtras.hs
+++ b/src/Quasar/PreludeExtras.hs
@@ -8,6 +8,7 @@ import Prelude
 
 import Control.Applicative (liftA2)
 import Control.Concurrent (threadDelay)
+import Control.Monad.Catch (MonadThrow, throwM)
 import Control.Monad.State.Lazy as State
 import Data.Char qualified as Char
 import Data.HashMap.Strict qualified as HM
@@ -24,8 +25,8 @@ import Quasar.Utils.ExtraT
 impossibleCodePath :: GHC.Stack.Types.HasCallStack => a
 impossibleCodePath = error "Code path marked as impossible was reached"
 
-impossibleCodePathM :: MonadFail m => m a
-impossibleCodePathM = fail "Code path marked as impossible was reached"
+impossibleCodePathM :: MonadThrow m => m a
+impossibleCodePathM = throwM (userError "Code path marked as impossible was reached")
 
 intercalate :: (Foldable f, Monoid a) => a -> f a -> a
 intercalate inter = foldr1 (\a b -> a <> inter <> b)
-- 
GitLab