Add HsSyn prettyprinter tests
[ghc.git] / testsuite / tests / typecheck / should_fail / ExpandSynsFail3.hs
1 -- We test two things here:
2 --
3 -- 1. We expand only as much as necessary. In this case, we shouldn't expand T.
4 -- 2. When we find a difference(T3 and T5 in this case), we do minimal expansion
5 -- e.g. we don't expand both of them to T1, instead we expand T5 to T3.
6
7 module Main where
8
9 type T5 = T4
10 type T4 = T3
11 type T3 = T2
12 type T2 = T1
13 type T1 = Int
14
15 type T a = Int -> Bool -> a -> String
16
17 f :: T (T3, T5, Int) -> Int
18 f = undefined
19
20 a :: Int
21 a = f (undefined :: T (T5, T3, Bool))
22
23 main = print a