blob: ae43147c928f2b75219c228729df8d5363a3fab3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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)
|