diff options
author | Sylvain Henry <sylvain@haskus.fr> | 2021-07-01 16:55:47 +0200 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-07-02 00:27:42 -0400 |
commit | a820f9002d8f75385aaaa141ac3c6f001e8a9874 (patch) | |
tree | 05bd6dd982fd40e0a4cd4db683bebed6567e187d /testsuite/tests/lib | |
parent | 6ac9ea86c339489e692730e849a88e86da730837 (diff) | |
download | haskell-a820f9002d8f75385aaaa141ac3c6f001e8a9874.tar.gz |
Detect underflow in fromIntegral/Int->Natural rule
Fix #20066
Diffstat (limited to 'testsuite/tests/lib')
-rw-r--r-- | testsuite/tests/lib/integer/T20066.hs | 12 | ||||
-rw-r--r-- | testsuite/tests/lib/integer/T20066.stderr | 1 | ||||
-rw-r--r-- | testsuite/tests/lib/integer/all.T | 1 |
3 files changed, 14 insertions, 0 deletions
diff --git a/testsuite/tests/lib/integer/T20066.hs b/testsuite/tests/lib/integer/T20066.hs new file mode 100644 index 0000000000..9cb67a6520 --- /dev/null +++ b/testsuite/tests/lib/integer/T20066.hs @@ -0,0 +1,12 @@ +{-# OPTIONS_GHC -O #-} +module Main where + +import Numeric.Natural + +i :: Int +i = -10 + +main :: IO () +main = let n :: Natural + n = fromIntegral i + in print n diff --git a/testsuite/tests/lib/integer/T20066.stderr b/testsuite/tests/lib/integer/T20066.stderr new file mode 100644 index 0000000000..589cc2a4a8 --- /dev/null +++ b/testsuite/tests/lib/integer/T20066.stderr @@ -0,0 +1 @@ +T20066: arithmetic underflow diff --git a/testsuite/tests/lib/integer/all.T b/testsuite/tests/lib/integer/all.T index c6710c69a1..4366955e81 100644 --- a/testsuite/tests/lib/integer/all.T +++ b/testsuite/tests/lib/integer/all.T @@ -32,3 +32,4 @@ test('integerImportExport', [omit_ways(['ghci'])], compile_and_run, ['']) #test('integerGmpInternals', [], compile_and_run, ['']) test('T19345', [], compile_and_run, ['']) +test('T20066', [exit_code(1)], compile_and_run, ['']) |