summaryrefslogtreecommitdiff
path: root/testsuite/tests/ghci.debugger/scripts/break022/break022.script
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