Mercurial > vim
diff src/testdir/test_vim9_builtin.vim @ 30584:ee039a6049ff v9.0.0627
patch 9.0.0627: "const" and "final" both make the type a constant
Commit: https://github.com/vim/vim/commit/6586a015144f15a979d573a79d91e700e4b3009f
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Sep 30 11:04:50 2022 +0100
patch 9.0.0627: "const" and "final" both make the type a constant
Problem: "const" and "final" both make the type a constant. (Daniel
Steinberg)
Solution: Only have "const" make the type a constant.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 30 Sep 2022 12:15:04 +0200 |
parents | 72e6073a2822 |
children | 56fabd53c7b8 |
line wrap: on
line diff
--- a/src/testdir/test_vim9_builtin.vim +++ b/src/testdir/test_vim9_builtin.vim @@ -192,6 +192,13 @@ def Test_add_const() v9.CheckDefFailure(lines, 'E1307: Argument 1: Trying to modify a const list<number>') lines =<< trim END + final l = [1, 2] + add(l, 3) + assert_equal([1, 2, 3], l) + END + v9.CheckDefSuccess(lines) + + lines =<< trim END const b = 0z0102 add(b, 0z03) END @@ -1209,6 +1216,13 @@ def Test_extend_const() END v9.CheckDefFailure(lines, 'E1307: Argument 1: Trying to modify a const dict<number>') + lines =<< trim END + final d = {a: 1, b: 2} + extend(d, {c: 3}) + assert_equal({a: 1, b: 2, c: 3}, d) + END + v9.CheckDefSuccess(lines) + # item in a for loop is const lines =<< trim END var l: list<dict<any>> = [{n: 1}]