summaryrefslogtreecommitdiff
path: root/testsuite/tests/mdo/should_compile/mdo006.hs
blob: 3d4a4dd09b941c025e995b1f4c1159df97055a32 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{-# OPTIONS -XRecursiveDo #-}

-- This test, from Iavor Diatchki, made GHC 6.2 loop (testLoop)
-- or panic (testPanic); there was a Lint error.
-- The reason was a missing bindInstsOfLocalFuns in tcStmtAndThen

module ShouldCompile where

import Control.Monad.Fix

testLoop _  = mdo x <- mapM undefined (f x)
                  let f _ = []
                  return (f x)

testPanic _  = mdo x <- f x
                   let f _ = return ()
                   f x