Open
Description
While experimenting with gdb I found I couldn't really predict what statements I might step to. Consider this test program:
fn main () {
let a = ();
let b : [i32; 0] = [];
let mut c = 27;
let d = c = 99;
let e = "hi bob";
let f = b"hi bob";
let g = b'9';
let h = ["whatever"; 8];
let i = [1,2,3,4];
let j = (23, "hi");
let k = 2..3;
let l = &i[k];
let m: *const() = &a;
}
If I break step::main
and run
in gdb, stepping stops on many of these lines, but not all of them:
Breakpoint 1, step::main () at step.rs:4
4 let mut c = 27;
(gdb) n
5 let d = c = 99;
(gdb)
7 let f = b"hi bob";
(gdb)
8 let g = b'9';
(gdb)
12 let k = 2..3;
(gdb)
13 let l = &i[k];
(gdb)
14 let m: *const() = &a;
(gdb)
15 }