[project @ 1999-02-06 16:10:18 by sof]
authorsof <unknown>
Sat, 6 Feb 1999 16:10:25 +0000 (16:10 +0000)
committersof <unknown>
Sat, 6 Feb 1999 16:10:25 +0000 (16:10 +0000)
New regression test - overlapped patterns involving labelled fields.

ghc/tests/deSugar/should_compile/ds002.stderr
ghc/tests/deSugar/should_compile/ds003.stderr
ghc/tests/deSugar/should_compile/ds019.stderr
ghc/tests/deSugar/should_compile/ds020.stderr
ghc/tests/deSugar/should_compile/ds022.stderr
ghc/tests/deSugar/should_compile/ds040.stderr
ghc/tests/deSugar/should_compile/ds043.hs [new file with mode: 0644]
ghc/tests/deSugar/should_compile/ds043.stderr [new file with mode: 0644]

index beaeb33..a5435e8 100644 (file)
@@ -1,3 +1,4 @@
+
 ds002.hs:7: Pattern match(es) are overlapped in the definition of function `f':
            f y = ...
            f z = ...
index 188cae5..c7a52de 100644 (file)
@@ -1,3 +1,4 @@
+
 ds003.hs:5: Pattern match(es) are overlapped in the definition of function `f':
            f (x : (x1 : (x2 : x3))) ~(y, ys) z = ...
            f x y True = ...
index 874b393..318885b 100644 (file)
@@ -1,3 +1,4 @@
+
 ds019.hs:5: Pattern match(es) are overlapped in the definition of function `f':
            f d (j, k) p = ...
            f (e, f, g) l q = ...
index 909af82..d75568c 100644 (file)
@@ -1,3 +1,4 @@
+
 ds020.hs:5: Pattern match(es) are overlapped in the definition of function `a':
            a ~(~[], ~[], ~[]) = ...
 
index 380086f..d935cb4 100644 (file)
@@ -1,3 +1,4 @@
+
 ds022.hs:20: Pattern match(es) are overlapped in the definition of function `i':
            i 1 1.1 = ...
            i 2 2.2 = ...
index c20c84f..f420d6a 100644 (file)
@@ -1,3 +1,4 @@
+
 ds040.hs:7: Pattern match(es) are overlapped in the definition of function `^^^^':
            ^^^^ _ _ = ...
 
diff --git a/ghc/tests/deSugar/should_compile/ds043.hs b/ghc/tests/deSugar/should_compile/ds043.hs
new file mode 100644 (file)
index 0000000..5c7d746
--- /dev/null
@@ -0,0 +1,11 @@
+-- !!! Checking the exhaustiveness of constructor
+-- !!! with labelled fields.
+module ShouldCompile where
+
+data E = B { a,b,c,d,e,f :: Bool }
+
+bug x =
+ case x of
+  B _ _ _ _ True False    -> undefined
+  B {e=True, f=False}     -> undefined
+  B {a=a,f=False,e=False} -> undefined
diff --git a/ghc/tests/deSugar/should_compile/ds043.stderr b/ghc/tests/deSugar/should_compile/ds043.stderr
new file mode 100644 (file)
index 0000000..4ffb3fb
--- /dev/null
@@ -0,0 +1,6 @@
+
+ds043.hs:8: Pattern match(es) are overlapped in a group of case alternatives beginning
+                                                (B _ _ _ _ True False):
+           B {e = True, f = False} -> ...
+
+