Should raise LocalJumpError when no block given

This commit is contained in:
ksss
2016-07-14 10:28:11 +09:00
parent d4d807b774
commit 9dc820590f
2 changed files with 11 additions and 0 deletions
+4
View File
@@ -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;
}
+7
View File
@@ -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