changeset 24893:1d6242cf1163 v8.2.2984

patch 8.2.2984: Vim9: test fails because of missing return statement Commit: https://github.com/vim/vim/commit/e6174fd58d459722847c76f8c5aa1b08a49c3e0d Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jun 12 18:30:56 2021 +0200 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.
author Bram Moolenaar <Bram@vim.org>
date Sat, 12 Jun 2021 18:45:03 +0200
parents e73a9667e471
children 6270bfeab91f
files src/version.c src/vim9compile.c
diffstat 2 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2984,
+/**/
     2983,
 /**/
     2982,
--- 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;