#include "main.h"
int main() {
return 1 / foo(0);
}
Here, 'Calling foo' and 'Returning from foo' have the exact same positions (where a 'Jump to repr. step' call goes) and ranges (what's displayed in the editor).
Because the extension has no memory which step it's supposed to be on, stepping into foo from step 2 is impossible because the extension believes it's on step 5.
75 partially solves this by prioritizing the position when there are overlaps between different ranges, but the fix doesn't handle when multiple ranges have the same position.
The following code segment is an example of overlapping positions.
main.cpp
main.h
Here, 'Calling foo' and 'Returning from foo' have the exact same positions (where a 'Jump to repr. step' call goes) and ranges (what's displayed in the editor). Because the extension has no memory which step it's supposed to be on, stepping into foo from step 2 is impossible because the extension believes it's on step 5.
75 partially solves this by prioritizing the position when there are overlaps between different ranges, but the fix doesn't handle when multiple ranges have the same position.