Your environment
ruby -v: 2.7.2p137rdbg -v: 1.6.2
To Reproduce
For a simple case:
- Create a file like:
defwith_blockyieldendwith_blockdo1endputs("`next` should stop here")- Add a breakpoint in line 5
- Try to move to
next - See the debugger stop at line 6 (and then 7, and 3)
For more complex cases:
- Create a file like:
classBardefine_method("dynamic")dotrueenddefregular;false;endenddeffoo(a,b,c);endbar=Bar.newfoo(bar.regular,bar.dynamic,# `next` stops herebar.regular)puts("`next` should stop here")- Add a breakpoint in line 12 (where the call to
foo is) - Try to move to
next - See the debugger stop at line 14
Expected behavior
The debugger should stop at line 8 in the simple example, and 17 in the complex one
Additional context
I included non-dynamically-defined methods, to show that next only behaves incorrectly for the dynamically-defined ones (as it doesn't stop at line 13 nor 15)
Your environment
ruby -v: 2.7.2p137rdbg -v: 1.6.2To Reproduce
For a simple case:
nextFor more complex cases:
foois)nextExpected behavior
The debugger should stop at line 8 in the simple example, and 17 in the complex one
Additional context
I included non-dynamically-defined methods, to show that
nextonly behaves incorrectly for the dynamically-defined ones (as it doesn't stop at line 13 nor 15)