mayBomb (printTest (pred (minBound::Word8)))
-- toEnum
- printTest ((map (toEnum::Int->Word8) [1, toInt (minBound::Word8), toInt (maxBound::Word8)]))
+ printTest ((map (toEnum::Int->Word8) [1, fromIntegral (minBound::Word8)::Int, fromIntegral (maxBound::Word8)::Int]))
mayBomb (printTest ((toEnum (maxBound::Int))::Word8))
-- fromEnum
-- [x..] aka enumFrom
printTest ((take 7 [(1::Word8)..]))
printTest ((take 7 [((maxBound::Word8)-5)..])) -- just in case it doesn't catch the upper bound..
-
+
-- [x,y..] aka enumFromThen
printTest ((take 7 [(1::Word8),2..]))
printTest ((take 7 [(1::Word8),7..]))
mayBomb (printTest (pred (minBound::Word16)))
-- toEnum
- printTest ((map (toEnum::Int->Word16) [1, toInt (minBound::Word16), toInt (maxBound::Word16)]))
+ printTest ((map (toEnum::Int->Word16) [1, fromIntegral (minBound::Word16)::Int, fromIntegral (maxBound::Word16)::Int]))
mayBomb (printTest ((toEnum (maxBound::Int))::Word16))
mayBomb (printTest (pred (minBound::Word32)))
-- toEnum
- printTest ((map (toEnum::Int->Word32) [1, toInt (minBound::Word32), maxBound::Int]))
+ printTest ((map (toEnum::Int->Word32) [1, fromIntegral (minBound::Word32)::Int, maxBound::Int]))
mayBomb (printTest ((toEnum (maxBound::Int))::Word32))
-- fromEnum
- printTest ((map fromEnum [(1::Word32),minBound,fromInt (maxBound::Int)]))
+ printTest ((map fromEnum [(1::Word32),minBound,fromIntegral (maxBound::Int)]))
mayBomb (printTest (fromEnum (maxBound::Word32)))
-- [x..] aka enumFrom
mayBomb (printTest (pred (minBound::Word64)))
-- toEnum
- printTest ((map (toEnum::Int->Word64) [1, toInt (minBound::Word64), maxBound::Int]))
+ printTest ((map (toEnum::Int->Word64) [1, fromIntegral (minBound::Word64)::Int, maxBound::Int]))
mayBomb (printTest ((toEnum (maxBound::Int))::Word64))
-- fromEnum
- printTest ((map fromEnum [(1::Word64),minBound,fromInt (maxBound::Int)]))
+ printTest ((map fromEnum [(1::Word64),minBound,fromIntegral (maxBound::Int)]))
mayBomb (printTest (fromEnum (maxBound::Word64)))
-- [x..] aka enumFrom
--
-mayBomb x = catchAllIO x errorHandler
-
-errorHandler :: Exception -> IO ()
-errorHandler e =
- case justErrors e of
- Just t -> putStrLn ("error " ++ show t)
- _ -> return ()
-
+mayBomb x = catchJust errorCalls x (\e -> putStrLn ("error " ++ show e))