summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/testdir/test_vim9_script.vim12
-rw-r--r--src/version.c2
-rw-r--r--src/vim9compile.c2
3 files changed, 16 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index c4a6f9a28b..3f1997f6f4 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -1780,6 +1780,18 @@ def Test_func_redefine_fails()
enddef
END
CheckScriptFailure(lines, 'E1073:')
+
+ lines =<< trim END
+ vim9script
+ def Foo(): string
+ return 'foo'
+ enddef
+ def Func()
+ let Foo = {-> 'lambda'}
+ enddef
+ defcompile
+ END
+ CheckScriptFailure(lines, 'E1073:')
enddef
def Test_fixed_size_list()
diff --git a/src/version.c b/src/version.c
index 8b68bc164d..978920e81c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1391,
+/**/
1390,
/**/
1389,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index a6b4a27db8..25da7f562c 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -5462,6 +5462,8 @@ compile_assignment(char_u *arg, exarg_T *eap, cmdidx_T cmdidx, cctx_T *cctx)
semsg(_(e_unknown_var), name);
goto theend;
}
+ else if (check_defined(var_start, varlen, cctx) == FAIL)
+ goto theend;
}
}