blob: e0aaeda37196a06da7a741e2bfcc6a5c86ce405e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
-- We have this structure of modules:
-- A (imports B.boot)
-- B (imports A)
-- B.boot (imports A)
-- C (imports A and B)
-- And we load C, to debug some function in A which enters B.
-- But first we touch A, and reload. B.boot will be reloaded, but not B, which will end up with an empty modbreaks. When we :step into B, ghci will die with an out of bounds access in B's break array.
-- The effect we want is B.boot being reloaded while B is not.
:l C
:! touch A.hs
:r
:break a
a ()
:st
:st
:st -- here we step into B, and produce the exception
|