patch 8.2.0818: Vim9: using a discovery phase doesn't work well
Problem: Vim9: using a discovery phase doesn't work well.
Solution: Remove the discovery phase, instead compile a function only when
it is used. Add :defcompile to compile def functions earlier.
diff --git a/src/testdir/test_vim9_disassemble.vim b/src/testdir/test_vim9_disassemble.vim
index 74804b4..e104258 100644
--- a/src/testdir/test_vim9_disassemble.vim
+++ b/src/testdir/test_vim9_disassemble.vim
@@ -423,8 +423,7 @@
assert_match('FuncWithForwardCall\_s*' ..
'return g:DefinedLater("yes")\_s*' ..
'\d PUSHS "yes"\_s*' ..
- '\d UCALL g:DefinedLater(argc 1)\_s*' ..
- '\d CHECKTYPE string stack\[-1]\_s*' ..
+ '\d DCALL DefinedLater(argc 1)\_s*' ..
'\d RETURN',
res)
@@ -436,7 +435,6 @@
'return g:DefinedLater("yes")\_s*' ..
'\d PUSHS "yes"\_s*' ..
'\d DCALL DefinedLater(argc 1)\_s*' ..
- '\d CHECKTYPE string stack\[-1]\_s*' ..
'\d RETURN',
res)
enddef
@@ -604,7 +602,7 @@
'\d PUSHS "x"\_s*' ..
'\d LOAD $0\_s*' ..
'\d PCALL (argc 1)\_s*' ..
- '\d CHECKTYPE string stack\[-1]',
+ '\d RETURN',
instr)
enddef