Mercurial > vim
diff src/testdir/test_vim9_func.vim @ 20532:cb4831fa7e25 v8.2.0820
patch 8.2.0820: Vim9: function type isn't set until compiled
Commit: https://github.com/vim/vim/commit/6ff71d8b7fbdf667a2f119a2487302e240961816
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun May 24 23:45:24 2020 +0200
patch 8.2.0820: Vim9: function type isn't set until compiled
Problem: Vim9: function type isn't set until compiled.
Solution: Set function type early.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 25 May 2020 00:00:04 +0200 |
parents | 489cb75c76b6 |
children | 54ffae914876 |
line wrap: on
line diff
--- a/src/testdir/test_vim9_func.vim +++ b/src/testdir/test_vim9_func.vim @@ -560,8 +560,7 @@ def Test_func_type_part() RefVoid = FuncNoArgNoRet RefVoid = FuncOneArgNoRet CheckDefFailure(['let RefVoid: func: void', 'RefVoid = FuncNoArgRetNumber'], 'E1013: type mismatch, expected func() but got func(): number') -" TODO: these should fail -" CheckDefFailure(['let RefVoid: func: void', 'RefVoid = FuncNoArgRetString'], 'E1013: type mismatch, expected func() but got func(): string') + CheckDefFailure(['let RefVoid: func: void', 'RefVoid = FuncNoArgRetString'], 'E1013: type mismatch, expected func() but got func(): string') let RefAny: func(): any RefAny = FuncNoArgRetNumber @@ -573,8 +572,7 @@ def Test_func_type_part() RefNr = FuncNoArgRetNumber RefNr = FuncOneArgRetNumber CheckDefFailure(['let RefNr: func: number', 'RefNr = FuncNoArgNoRet'], 'E1013: type mismatch, expected func(): number but got func()') -" TODO: should fail -" CheckDefFailure(['let RefNr: func: number', 'RefNr = FuncNoArgRetString'], 'E1013: type mismatch, expected func(): number but got func(): string') + CheckDefFailure(['let RefNr: func: number', 'RefNr = FuncNoArgRetString'], 'E1013: type mismatch, expected func(): number but got func(): string') let RefStr: func: string RefStr = FuncNoArgRetString @@ -589,10 +587,9 @@ def Test_func_type_fails() CheckDefFailure(['let Ref1: func()', 'Ref1 = FuncNoArgRetNumber'], 'E1013: type mismatch, expected func() but got func(): number') CheckDefFailure(['let Ref1: func()', 'Ref1 = FuncOneArgNoRet'], 'E1013: type mismatch, expected func() but got func(number)') CheckDefFailure(['let Ref1: func()', 'Ref1 = FuncOneArgRetNumber'], 'E1013: type mismatch, expected func() but got func(number): number') -" TODO: these don't fail -" CheckDefFailure(['let Ref1: func(bool)', 'Ref1 = FuncTwoArgNoRet'], 'E1013: type mismatch, expected func(bool) but got func(bool, number)') -" CheckDefFailure(['let Ref1: func(?bool)', 'Ref1 = FuncTwoArgNoRet'], 'E1013: type mismatch, expected func(?bool) but got func(bool, number)') -" CheckDefFailure(['let Ref1: func(...bool)', 'Ref1 = FuncTwoArgNoRet'], 'E1013: type mismatch, expected func(...bool) but got func(bool, number)') + CheckDefFailure(['let Ref1: func(bool)', 'Ref1 = FuncTwoArgNoRet'], 'E1013: type mismatch, expected func(bool) but got func(bool, number)') + CheckDefFailure(['let Ref1: func(?bool)', 'Ref1 = FuncTwoArgNoRet'], 'E1013: type mismatch, expected func(?bool) but got func(bool, number)') + CheckDefFailure(['let Ref1: func(...bool)', 'Ref1 = FuncTwoArgNoRet'], 'E1013: type mismatch, expected func(...bool) but got func(bool, number)') call CheckDefFailure(['let RefWrong: func(string ,number)'], 'E1068:') call CheckDefFailure(['let RefWrong: func(string,number)'], 'E1069:')