diff options
author | nineonine <mail4chemik@gmail.com> | 2021-05-20 22:12:25 -0700 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-05-22 00:09:32 -0400 |
commit | ef4d2999a200f22c864d7c1a2bdfbfd726a0f849 (patch) | |
tree | 9703da906dc676347d1a9cc8df973e4f90b2495b | |
parent | e2d4f241293347926e6fb764ff3fe362add7d40e (diff) | |
download | haskell-ef4d2999a200f22c864d7c1a2bdfbfd726a0f849.tar.gz |
Add regression test for #19287
3 files changed, 17 insertions, 0 deletions
diff --git a/testsuite/tests/overloadedrecflds/should_fail/T19287.hs b/testsuite/tests/overloadedrecflds/should_fail/T19287.hs new file mode 100644 index 0000000000..f3dedbe4bc --- /dev/null +++ b/testsuite/tests/overloadedrecflds/should_fail/T19287.hs @@ -0,0 +1,11 @@ +{-# LANGUAGE DuplicateRecordFields #-} +module Main where + +data R a b = R { x :: a , x :: b} + +unsafeCoerce :: a -> b +unsafeCoerce i = case (R i i){x = i} of + R a b -> b + +main = do + print (unsafeCoerce (1 :: Int) :: Bool) diff --git a/testsuite/tests/overloadedrecflds/should_fail/T19287.stderr b/testsuite/tests/overloadedrecflds/should_fail/T19287.stderr new file mode 100644 index 0000000000..c0c5a0caa9 --- /dev/null +++ b/testsuite/tests/overloadedrecflds/should_fail/T19287.stderr @@ -0,0 +1,5 @@ + +T19287.hs:4:27: error: + Multiple declarations of ‘x’ + Declared at: T19287.hs:4:18 + T19287.hs:4:27 diff --git a/testsuite/tests/overloadedrecflds/should_fail/all.T b/testsuite/tests/overloadedrecflds/should_fail/all.T index 8400644908..169d47813a 100644 --- a/testsuite/tests/overloadedrecflds/should_fail/all.T +++ b/testsuite/tests/overloadedrecflds/should_fail/all.T @@ -46,3 +46,4 @@ test('NFSDuplicate', normal, compile_fail, ['']) test('NFSExport', normal, compile_fail, ['']) test('T18999_NoDisambiguateRecordFields', normal, compile_fail, ['']) test('DRFUnused', normal, compile_fail, ['']) +test('T19287', normal, compile_fail, ['']) |