Add HasCallStack to unsafe* functions (#129)
Co-authored-by: Adam Wespiser <adamwespiser@gmail.com>
This commit is contained in:
co-authored by
Adam Wespiser
parent
ee4d94feab
commit
f8cf1375d5
@@ -12,33 +12,33 @@ module Protolude.Unsafe (
|
|||||||
unsafeRead,
|
unsafeRead,
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import Protolude.Base (Int)
|
import Protolude.Base (Int, HasCallStack)
|
||||||
import Data.Char (Char)
|
import Data.Char (Char)
|
||||||
import Text.Read (Read, read)
|
import Text.Read (Read, read)
|
||||||
import qualified Data.List as List
|
import qualified Data.List as List
|
||||||
import qualified Data.Maybe as Maybe
|
import qualified Data.Maybe as Maybe
|
||||||
import qualified Control.Exception as Exc
|
import qualified Control.Exception as Exc
|
||||||
|
|
||||||
unsafeHead :: [a] -> a
|
unsafeHead :: HasCallStack => [a] -> a
|
||||||
unsafeHead = List.head
|
unsafeHead = List.head
|
||||||
|
|
||||||
unsafeTail :: [a] -> [a]
|
unsafeTail :: HasCallStack => [a] -> [a]
|
||||||
unsafeTail = List.tail
|
unsafeTail = List.tail
|
||||||
|
|
||||||
unsafeInit :: [a] -> [a]
|
unsafeInit :: HasCallStack => [a] -> [a]
|
||||||
unsafeInit = List.init
|
unsafeInit = List.init
|
||||||
|
|
||||||
unsafeLast :: [a] -> a
|
unsafeLast :: HasCallStack => [a] -> a
|
||||||
unsafeLast = List.last
|
unsafeLast = List.last
|
||||||
|
|
||||||
unsafeFromJust :: Maybe.Maybe a -> a
|
unsafeFromJust :: HasCallStack => Maybe.Maybe a -> a
|
||||||
unsafeFromJust = Maybe.fromJust
|
unsafeFromJust = Maybe.fromJust
|
||||||
|
|
||||||
unsafeIndex :: [a] -> Int -> a
|
unsafeIndex :: HasCallStack => [a] -> Int -> a
|
||||||
unsafeIndex = (List.!!)
|
unsafeIndex = (List.!!)
|
||||||
|
|
||||||
unsafeThrow :: Exc.Exception e => e -> a
|
unsafeThrow :: Exc.Exception e => e -> a
|
||||||
unsafeThrow = Exc.throw
|
unsafeThrow = Exc.throw
|
||||||
|
|
||||||
unsafeRead :: Read a => [Char] -> a
|
unsafeRead :: (HasCallStack, Read a) => [Char] -> a
|
||||||
unsafeRead = Text.Read.read
|
unsafeRead = Text.Read.read
|
||||||
|
|||||||
Reference in New Issue
Block a user