id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,os,architecture,failure,difficulty,testcase,blockedby,blocking,related
2845,break018 skips a step,igloo,,"The `break018` test is failing:
{{{
@@ -1,13 +1,11 @@
 Stopped at ../mdo.hs:(29,0)-(31,26)
-_result :: IO (N a) = _
-Stopped at ../mdo.hs:(29,15)-(31,26)
-_result :: IO (N Char) = _
-x :: Char = 'h'
-xs :: [Char] = _
+_result :: (# GHC.Prim.State# GHC.Prim.RealWorld, N a #) = _
 Stopped at ../mdo.hs:29:29-41
 _result :: IO (N Char) = _
 f :: N Char = _
 l :: N Char = _
 x :: Char = 'h'
 Stopped at ../mdo.hs:(7,0)-(8,41)
-_result :: IO (N a) = _
+_result :: (# GHC.Prim.State# GHC.Prim.RealWorld, N a #) = _
+Stopped at ../mdo.hs:7:25-38
+_result :: IO (IORef Bool) = _
*** unexpected failure for break018(ghci)
}}}
What's happening here is that as we `:st` through the evaluation we aren't stopping at the `mdo` expression any more; we go straight from the entire `l2dll` to the `newNode` expression:
{{{
l2dll :: [a] -> IO (N a)
l2dll (x:xs) = mdo c      <- newNode l x f
                   (f, l) <- l2dll' c xs
                   return c
}}}
",bug,closed,normal,6.12 branch,GHCi,6.11,fixed,,,Unknown/Multiple,Unknown/Multiple,,Unknown,break018,,,
