Disallow proc() do stmt and only allow proc() { stmt }

This commit is contained in:
gingerBill
2022-07-18 15:09:04 +01:00
parent 6c7e5748a8
commit 22a0c3fce1
2 changed files with 2 additions and 6 deletions

View File

@@ -45,4 +45,4 @@ ERROR_NOT_SAME_OBJECT : DWORD : 1656
E_NOTIMPL :: HRESULT(-0x7fff_bfff) // 0x8000_4001
SUCCEEDED :: #force_inline proc(#any_int result: int) -> bool do return result >= 0
SUCCEEDED :: #force_inline proc(#any_int result: int) -> bool { return result >= 0 }

View File

@@ -2324,11 +2324,7 @@ Ast *parse_operand(AstFile *f, bool lhs) {
body = convert_stmt_to_body(f, parse_stmt(f));
f->curr_proc = curr_proc;
if (build_context.disallow_do) {
syntax_error(body, "'do' has been disallowed");
} else if (!ast_on_same_line(type, body)) {
syntax_error(body, "The body of a 'do' must be on the same line as the signature");
}
syntax_error(body, "'do' for procedure bodies is not allowed, prefer {}");
return ast_proc_lit(f, type, body, tags, where_token, where_clauses);
}