Add warnings for partial functions (#70)

This commit is contained in:
Timothy
2017-10-24 14:27:18 +01:00
committed by Stephen Diehl
parent 2c44add128
commit 8eb1633dd8
2 changed files with 6 additions and 0 deletions
+3
View File
@@ -1,5 +1,6 @@
{-# LANGUAGE Trustworthy #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-warnings-deprecations #-}
module Debug (
undefined,
@@ -55,8 +56,10 @@ traceM s = trace (unpack s) (return ())
traceId :: Text -> Text
traceId s = trace s s
{-# WARNING notImplemented "'notImplemented' remains in code" #-}
notImplemented :: a
notImplemented = error "Not implemented"
{-# WARNING undefined "'undefined' remains in code" #-}
undefined :: a
undefined = error "Prelude.undefined"
+3
View File
@@ -25,6 +25,7 @@ import GHC.Types (RuntimeRep)
import Protolude.CallStack (HasCallStack)
import GHC.Exception (errorCallWithCallStackException)
{-# WARNING error "'error' remains in code" #-}
error :: forall (r :: RuntimeRep) . forall (a :: TYPE r) . HasCallStack => Text -> a
error s = raise# (errorCallWithCallStackException (unpack s) ?callstack)
@@ -33,6 +34,7 @@ error s = raise# (errorCallWithCallStackException (unpack s) ?callstack)
import GHC.Exception (errorCallException)
{-# WARNING error "'error' remains in code" #-}
error :: Text -> a
error s = raise# (errorCallException (unpack s))
@@ -42,6 +44,7 @@ error s = raise# (errorCallException (unpack s))
import GHC.Types
import GHC.Exception
{-# WARNING error "'error' remains in code" #-}
error :: Text -> a
error s = throw (ErrorCall (unpack s))