aboutsummaryrefslogtreecommitdiff
path: root/src/check_expr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/check_expr.cpp')
-rw-r--r--src/check_expr.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/check_expr.cpp b/src/check_expr.cpp
index fb7a98388..2c44890c2 100644
--- a/src/check_expr.cpp
+++ b/src/check_expr.cpp
@@ -6890,6 +6890,10 @@ ExprKind check_expr_base_internal(CheckerContext *c, Operand *o, Ast *node, Type
if (c->curr_proc_sig == nullptr) {
error(node, "'%.*s' can only be used within a procedure", LIT(name));
}
+
+ if (c->in_defer) {
+ error(rs->token, "'or_return' cannot be used within a defer statement");
+ }
return Expr_Expr;
case_end;