Ticket #2845 (closed bug: fixed)
break018 skips a step
| Reported by: | igloo | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | 6.12 branch |
| Component: | GHCi | Version: | 6.11 |
| Keywords: | Cc: | ||
| Operating System: | Unknown/Multiple | Architecture: | Unknown/Multiple |
| Type of failure: | Difficulty: | Unknown | |
| Test Case: | break018 | Blocked By: | |
| Blocking: | Related Tickets: |
Description
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
Change History
Note: See
TracTickets for help on using
tickets.
