patch 8.2.2967: Vim9: crash when using two levels of partials
Problem: Vim9: crash when using two levels of partials.
Solution: Add outer_ref_T and use it in the execution context.
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index cd2a15d..8d891d2 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -2128,6 +2128,19 @@
CheckScriptSuccess(lines)
enddef
+def Test_double_nested_lambda()
+ var lines =<< trim END
+ vim9script
+ def F(head: string): func(string): func(string): string
+ return (sep: string): func(string): string => ((tail: string): string => {
+ return head .. sep .. tail
+ })
+ enddef
+ assert_equal('hello-there', F('hello')('-')('there'))
+ END
+ CheckScriptSuccess(lines)
+enddef
+
def Test_nested_inline_lambda()
# TODO: use the "text" argument
var lines =<< trim END