From e6174fd58d459722847c76f8c5aa1b08a49c3e0d Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 12 Jun 2021 18:30:56 +0200 Subject: [PATCH] patch 8.2.2984: Vim9: test fails because of missing return statement Problem: Vim9: Test fails because of missing return statement. Solution: When type is unknown set type to void. --- src/version.c | 2 ++ src/vim9compile.c | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/version.c b/src/version.c index fcb0d927a..7f459c27a 100644 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 2984, /**/ 2983, /**/ diff --git a/src/vim9compile.c b/src/vim9compile.c index dfd5aaa3c..47847af3a 100644 --- a/src/vim9compile.c +++ b/src/vim9compile.c @@ -9596,7 +9596,9 @@ nextline: if (!cctx.ctx_had_return) { - if (ufunc->uf_ret_type->tt_type != VAR_VOID) + if (ufunc->uf_ret_type->tt_type == VAR_UNKNOWN) + ufunc->uf_ret_type = &t_void; + else if (ufunc->uf_ret_type->tt_type != VAR_VOID) { emsg(_(e_missing_return_statement)); goto erret; -- 2.50.1