diff options
Diffstat (limited to 'testsuite/tests/gadt/gadt-dim3.hs')
-rw-r--r-- | testsuite/tests/gadt/gadt-dim3.hs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/testsuite/tests/gadt/gadt-dim3.hs b/testsuite/tests/gadt/gadt-dim3.hs new file mode 100644 index 0000000000..ae43147c92 --- /dev/null +++ b/testsuite/tests/gadt/gadt-dim3.hs @@ -0,0 +1,25 @@ +{-# LANGUAGE GADTs #-} + +module ShouldSucceed5 where + + +data T a where + C :: T Bool + D :: T Int + + +data Y a where + E :: Y Bool + + +-- should succeed, the first branch is simply inaccessible +foo :: T Bool -> Bool +foo (D) = True +foo (C) = False + +-- should succeed, the branch is inaccessible and not even type checked +baz :: Y Int -> Int +baz (E) = "dimitris!" + +-- should fail => it is an attempt to call an inaccessible branch +test = baz (E) |