Mercurial > vim
diff src/testdir/test_vim9_assign.vim @ 26372:f5727e2603f0 v8.2.3717
patch 8.2.3717: Vim9: error for constant list size is only given at runtime
Commit: https://github.com/vim/vim/commit/db9ff9ab5d7ce1fcc2c4106e7ad49151a323996c
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Dec 1 17:38:01 2021 +0000
patch 8.2.3717: Vim9: error for constant list size is only given at runtime
Problem: Vim9: error for constant list size is only given at runtime.
Solution: Give the error at compile time if possible.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 01 Dec 2021 18:45:03 +0100 |
parents | 8be6413a8e27 |
children | bdf11d8e3df3 |
line wrap: on
line diff
--- a/src/testdir/test_vim9_assign.vim +++ b/src/testdir/test_vim9_assign.vim @@ -386,6 +386,27 @@ def Test_assign_unpack() lines =<< trim END var v1: number var v2: number + [v1, v2] = [1, 2, 3] + END + CheckDefFailure(lines, 'E1093: Expected 2 items but got 3', 3) + + lines =<< trim END + var v1: number + var v2: number + [v1, v2] = [1] + END + CheckDefFailure(lines, 'E1093: Expected 2 items but got 1', 3) + + lines =<< trim END + var v1: number + var v2: number + [v1, v2; _] = [1] + END + CheckDefFailure(lines, 'E1093: Expected 2 items but got 1', 3) + + lines =<< trim END + var v1: number + var v2: number [v1, v2] = END CheckDefFailure(lines, 'E1097:', 5)