diff src/testdir/test_vim9_import.vim @ 30057:9c141768fa0f v9.0.0366

patch 9.0.0366: cannot use import->Func() in lambda Commit: https://github.com/vim/vim/commit/6ac69ed9a23fcbccc54574ded1cbab5065e19c41 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Sep 3 12:09:07 2022 +0100 patch 9.0.0366: cannot use import->Func() in lambda Problem: Cannot use import->Func() in lambda. (Israel Chauca Fuentes) Solution: Adjust how an expression in a lambda is parsed. (closes https://github.com/vim/vim/issues/11042)
author Bram Moolenaar <Bram@vim.org>
date Sat, 03 Sep 2022 13:15:03 +0200
parents 13b02c1ea0f7
children 12e6c7bae2a9
line wrap: on
line diff
--- a/src/testdir/test_vim9_import.vim
+++ b/src/testdir/test_vim9_import.vim
@@ -1454,6 +1454,28 @@ def Run_Test_import_in_spellsuggest_expr
   set nospell spellsuggest& verbose=0
 enddef
 
+def Test_import_in_lambda_method()
+  var lines =<< trim END
+      vim9script
+      export def Retarg(e: any): any
+        return e
+      enddef
+  END
+  writefile(lines, 'XexportRetarg.vim')
+  lines =<< trim END
+      vim9script
+      import './XexportRetarg.vim'
+      def Lambda(): string
+        var F = (x) => x->XexportRetarg.Retarg()
+        return F('arg')
+      enddef
+      assert_equal('arg', Lambda())
+  END
+  v9.CheckScriptSuccess(lines)
+
+  delete('XexportRetarg.vim')
+enddef
+
 def Test_export_shadows_global_function()
   mkdir('Xglobdir/autoload', 'p')
   var save_rtp = &rtp