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}]