summaryrefslogtreecommitdiff
path: root/testsuite/tests/overloadedrecflds/should_fail/overloadedrecfldsfail01c.hs
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/overloadedrecflds/should_fail/overloadedrecfldsfail01c.hs')
-rw-r--r--testsuite/tests/overloadedrecflds/should_fail/overloadedrecfldsfail01c.hs13
1 files changed, 13 insertions, 0 deletions
diff --git a/testsuite/tests/overloadedrecflds/should_fail/overloadedrecfldsfail01c.hs b/testsuite/tests/overloadedrecflds/should_fail/overloadedrecfldsfail01c.hs
new file mode 100644
index 0000000000..cfa079e7b9
--- /dev/null
+++ b/testsuite/tests/overloadedrecflds/should_fail/overloadedrecfldsfail01c.hs
@@ -0,0 +1,13 @@
+-- Test ambiguous updates are rejected with appropriate error messages
+
+{-# LANGUAGE DuplicateRecordFields #-}
+
+module OverloadedRecFieldsFail1c where
+
+data R = MkR { w :: Bool, x :: Int, y :: Bool }
+data S = MkS { w :: Bool, x :: Int, y :: Bool }
+data T = MkT { x :: Int, z :: Bool }
+data U = MkU { y :: Bool }
+
+-- User-specified type does not have these fields
+upd3 r = r { w = True, x = 3, y = True } :: U