From c0cfbe98f3069d1aabb29fb0e795c6582e88b75e Mon Sep 17 00:00:00 2001 From: Mathieu Guay-Paquet Date: Tue, 16 Feb 2021 21:51:19 -0500 Subject: Allow resume in nosuspend scope Resuming a suspended async function call is actually a synchronous operation. This commit removes the compiler code which generates the error and updates the relevant test case. --- src/stage1/ir.cpp | 4 ---- 1 file changed, 4 deletions(-) (limited to 'src/stage1/ir.cpp') diff --git a/src/stage1/ir.cpp b/src/stage1/ir.cpp index 7906df3b0d..c418149546 100644 --- a/src/stage1/ir.cpp +++ b/src/stage1/ir.cpp @@ -10095,10 +10095,6 @@ static IrInstSrc *ir_gen_fn_proto(IrBuilderSrc *irb, Scope *parent_scope, AstNod static IrInstSrc *ir_gen_resume(IrBuilderSrc *irb, Scope *scope, AstNode *node) { assert(node->type == NodeTypeResume); - if (get_scope_nosuspend(scope) != nullptr) { - add_node_error(irb->codegen, node, buf_sprintf("resume in nosuspend scope")); - return irb->codegen->invalid_inst_src; - } IrInstSrc *target_inst = ir_gen_node_extra(irb, node->data.resume_expr.expr, scope, LValPtr, nullptr); if (target_inst == irb->codegen->invalid_inst_src) -- cgit v1.2.3