diff --git a/ghc/tests/deSugar/should_compile/ds002.stderr b/ghc/tests/deSugar/should_compile/ds002.stderr index beaeb336242ba9f93814c513466c07c115d44f4d..a5435e88d21c250684cb58b0baa939eaec30308f 100644 --- a/ghc/tests/deSugar/should_compile/ds002.stderr +++ b/ghc/tests/deSugar/should_compile/ds002.stderr @@ -1,3 +1,4 @@ + ds002.hs:7: Pattern match(es) are overlapped in the definition of function `f': f y = ... f z = ... diff --git a/ghc/tests/deSugar/should_compile/ds003.stderr b/ghc/tests/deSugar/should_compile/ds003.stderr index 188cae5d4ad958f9e7ff22da5288d40714a33ba7..c7a52de00510b3626ef7ed1422c58784aaef1495 100644 --- a/ghc/tests/deSugar/should_compile/ds003.stderr +++ b/ghc/tests/deSugar/should_compile/ds003.stderr @@ -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 = ... diff --git a/ghc/tests/deSugar/should_compile/ds019.stderr b/ghc/tests/deSugar/should_compile/ds019.stderr index 874b393d40e818ea83ec03060c26293e2d256bcb..318885bc0f28322c55e70f1a76585c184ccdaa4c 100644 --- a/ghc/tests/deSugar/should_compile/ds019.stderr +++ b/ghc/tests/deSugar/should_compile/ds019.stderr @@ -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 = ... diff --git a/ghc/tests/deSugar/should_compile/ds020.stderr b/ghc/tests/deSugar/should_compile/ds020.stderr index 909af82d9a2fd842fcd580c54741e1021c8ba369..d75568c9d4741206c30c84b6968e886c1300e2d8 100644 --- a/ghc/tests/deSugar/should_compile/ds020.stderr +++ b/ghc/tests/deSugar/should_compile/ds020.stderr @@ -1,3 +1,4 @@ + ds020.hs:5: Pattern match(es) are overlapped in the definition of function `a': a ~(~[], ~[], ~[]) = ... diff --git a/ghc/tests/deSugar/should_compile/ds022.stderr b/ghc/tests/deSugar/should_compile/ds022.stderr index 380086f9a02a58fe73af606368197efb1cab760c..d935cb46ccd5b0f1a0ead8da5131892a354359ef 100644 --- a/ghc/tests/deSugar/should_compile/ds022.stderr +++ b/ghc/tests/deSugar/should_compile/ds022.stderr @@ -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 = ... diff --git a/ghc/tests/deSugar/should_compile/ds040.stderr b/ghc/tests/deSugar/should_compile/ds040.stderr index c20c84f9a35babb8991cfde1aa19c3d371ebe913..f420d6a719677735f211adf483613853831fa09e 100644 --- a/ghc/tests/deSugar/should_compile/ds040.stderr +++ b/ghc/tests/deSugar/should_compile/ds040.stderr @@ -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 index 0000000000000000000000000000000000000000..5c7d746b8ba7d0ccaac5179189175160ef499678 --- /dev/null +++ b/ghc/tests/deSugar/should_compile/ds043.hs @@ -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 index 0000000000000000000000000000000000000000..4ffb3fb090a25417eb39a67488760a7e615dd79b --- /dev/null +++ b/ghc/tests/deSugar/should_compile/ds043.stderr @@ -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} -> ... + +