Track specified/invisible more carefully.
[ghc.git] / testsuite / tests / ghci / scripts / TypeAppData.script
1 -- tests detection of specified variables in datatypes and patterns
2 :set -fprint-explicit-foralls
3 :set -XTypeInType -XExistentialQuantification -XPatternSynonyms
4 data P1 a = P1
5 data P2 (a :: k) = P2
6 data P3 k (a :: k) = P3
7 data P4 a = P4 (P1 a)
8 :type P1
9 :type P2
10 :type P3
11 :type P4
12 data P5 = forall a. P5 (P1 a)
13 data P6 = forall k (a :: k). P6 (P1 a)
14 :type P5
15 :type P6
16 pattern P7 :: P1 a ; pattern P7 = P1
17 pattern P8 :: forall a. P1 a ; pattern P8 = P1
18 pattern P9 :: forall k (a :: k). P1 a ; pattern P9 = P1
19 pattern P10 :: forall (a :: k). P1 a ; pattern P10 = P1
20 pattern P11 :: () => P1 a -> P5 ; pattern P11 a = P5 a
21 pattern P12 :: () => forall a. P1 a -> P5 ; pattern P12 a = P5 a
22 pattern P13 :: () => forall k (a :: k). P1 a -> P5 ; pattern P13 a = P5 a
23 pattern P14 :: () => forall (a :: k). P1 a -> P5 ; pattern P14 a = P5 a
24 :type P7
25 :type P8
26 :type P9
27 :type P10
28 :type P11
29 :type P12
30 :type P13
31 :type P14