summaryrefslogtreecommitdiff
path: root/testsuite/tests/codeGen/should_compile/cg004.hs
blob: fb8e3cc4132c01a85c6b67bebb956f2800536672 (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
26
27
28
29
30
module ShouldCompile where

-- 		Killed GHC 6.0 in isCrossDllArg
--
-- ghc-6.0: panic! (the `impossible' happened, GHC version 6.0):
--	coreSyn/CoreUtils.lhs:1188: Non-exhaustive patterns in function isCrossDllArg
--
-- The reason was that newST had the form
--   newST = \ @ v -> GHC.Base.:
--			@ (Environment.Scope v)
--			(case $fScopeOpersScope @ v
--			 of tpl_B1 { Environment.:DScopeOpers tpl_B2 tpl_B3 ->
--			 tpl_B2
--			 })
--			(GHC.Base.[] @ (Environment.Scope v))

class ScopeOpers s where
      emptyScope :: s 
      op :: s -> s

data Scope v = NewScope 

instance ScopeOpers (Scope v) where
      emptyScope = error "emptyScope"
      op = error "op"

newtype SymbolTable v = SymbolTable [Scope v]

newST :: SymbolTable v
newST = SymbolTable [emptyScope]