summaryrefslogtreecommitdiff
path: root/testsuite/tests/codeGen/should_compile/cg004.hs
blob: 86b4a23a72deb24cfdea622b58430e8932176f9a (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]