mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Should raise LocalJumpError when no block given
This commit is contained in:
@@ -1732,6 +1732,10 @@ RETRY_TRY_BLOCK:
|
||||
}
|
||||
stack = e->stack + 1;
|
||||
}
|
||||
if (mrb_nil_p(stack[m1+r+m2])) {
|
||||
localjump_error(mrb, LOCALJUMP_ERROR_YIELD);
|
||||
goto L_RAISE;
|
||||
}
|
||||
regs[a] = stack[m1+r+m2];
|
||||
NEXT;
|
||||
}
|
||||
|
||||
@@ -38,6 +38,13 @@ assert('yield', '11.3.5') do
|
||||
assert_raise LocalJumpError do
|
||||
yield
|
||||
end
|
||||
assert_raise LocalJumpError do
|
||||
o = Object.new
|
||||
def o.foo
|
||||
yield
|
||||
end
|
||||
o.foo
|
||||
end
|
||||
end
|
||||
|
||||
assert('Abbreviated variable assignment', '11.4.2.3.2') do
|
||||
|
||||
Reference in New Issue
Block a user