Files
mruby-mruby/test/t
Yukihiro "Matz" Matsumoto 16151a0daa proc.c: mark Proc#dup / Proc#clone copies as orphan blocks
A copied Proc now always carries `MRB_PROC_ORPHAN`, so calling a
`dup`'d block that contains `break` or `return` raises
`LocalJumpError` even while the original yielding method is still on
the stack.

This is stricter than CRuby — which only marks the copy orphan once
the original yielding method returns — but matches mruby's
memory-first design: tracking the original via a back pointer in
RProc would also enlarge the GC mark set. dearblue's option (1) in
the linked issue, accepted for the simpler RProc layout.

Document the divergence in `doc/limitations.md` and add a regression
test in `test/t/proc.rb`.

close #6345

Co-authored-by: Claude <noreply@anthropic.com>
2026-05-11 15:06:24 +09:00
..
2021-11-26 12:18:41 +09:00
2021-03-01 10:06:17 +10:00
2026-05-07 15:51:30 +00:00
2025-01-26 21:11:21 +09:00
2021-03-01 10:06:17 +10:00
2021-03-01 10:06:17 +10:00
2021-05-03 15:30:59 +09:00
2021-06-16 08:34:54 +10:00