# HG changeset patch # User Bram Moolenaar # Date 1589491803 -7200 # Node ID d1a54d2bd145f2685b6700627c5ab0a25ebbdaf0 # Parent 9d64fe2ee949fe958c7f91f3dbb3ae11dc7c9627 patch 8.2.0754: Vim9: No test for forward declaration Commit: https://github.com/vim/vim/commit/a5d0077efbced85fcc63f203937b13efd55d036f Author: Bram Moolenaar Date: Thu May 14 23:20:55 2020 +0200 patch 8.2.0754: Vim9: No test for forward declaration Problem: Vim9: No test for forward declaration. Solution: Add a test. diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim --- a/src/testdir/test_vim9_script.vim +++ b/src/testdir/test_vim9_script.vim @@ -1732,6 +1732,7 @@ def Test_let_func_call() END writefile(lines, 'Xfinished') source Xfinished + " GetValue() is not called during discovery phase assert_equal(1, g:count) unlet g:count @@ -1752,6 +1753,28 @@ def Test_let_missing_type() delete('Xfinished') enddef +def Test_forward_declaration() + let lines =<< trim END + vim9script + g:initVal = GetValue() + def GetValue(): string + return theVal + enddef + let theVal = 'something' + theVal = 'else' + g:laterVal = GetValue() + END + writefile(lines, 'Xforward') + source Xforward + assert_equal('something', g:initVal) + assert_equal('else', g:laterVal) + + unlet g:initVal + unlet g:laterVal + delete('Xforward') +enddef + + " Keep this last, it messes up highlighting. def Test_substitute_cmd() new diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -747,6 +747,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 754, +/**/ 753, /**/ 752,