Mercurial > vim
comparison src/testdir/test_vim9_script.vim @ 21574:b8b15e8cbf5f v8.2.1337
patch 8.2.1337: Vim9: cannot use empty key in dict assignment
Commit: https://github.com/vim/vim/commit/586268721dd5d6e50903a8a457f02e0dda901856
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Aug 1 14:06:38 2020 +0200
patch 8.2.1337: Vim9: cannot use empty key in dict assignment
Problem: Vim9: cannot use empty key in dict assignment.
Solution: Allow empty key. (closes https://github.com/vim/vim/issues/6591)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 01 Aug 2020 14:15:03 +0200 |
parents | 4e679db1c404 |
children | f4252efe370e |
comparison
equal
deleted
inserted
replaced
21573:56e2dfbce89f | 21574:b8b15e8cbf5f |
---|---|
242 let dict5: dict<blob> = #{one: 0z01, two: 0z02} | 242 let dict5: dict<blob> = #{one: 0z01, two: 0z02} |
243 | 243 |
244 # overwrite | 244 # overwrite |
245 dict3['key'] = 'another' | 245 dict3['key'] = 'another' |
246 | 246 |
247 call CheckDefExecFailure(['let dd = {}', 'dd[""] = 6'], 'E713:') | 247 # empty key can be used |
248 let dd = {} | |
249 dd[""] = 6 | |
250 assert_equal({'': 6}, dd) | |
248 | 251 |
249 # type becomes dict<any> | 252 # type becomes dict<any> |
250 let somedict = rand() > 0 ? #{a: 1, b: 2} : #{a: 'a', b: 'b'} | 253 let somedict = rand() > 0 ? #{a: 1, b: 2} : #{a: 'a', b: 'b'} |
251 enddef | 254 enddef |
252 | 255 |
782 n = 300 | 785 n = 300 |
783 endtry | 786 endtry |
784 assert_equal(300, n) | 787 assert_equal(300, n) |
785 | 788 |
786 try | 789 try |
787 d[''] = 3 | |
788 catch /E713:/ | |
789 n = 311 | |
790 endtry | |
791 assert_equal(311, n) | |
792 | |
793 try | |
794 unlet g:does_not_exist | 790 unlet g:does_not_exist |
795 catch /E108:/ | 791 catch /E108:/ |
796 n = 322 | 792 n = 322 |
797 endtry | 793 endtry |
798 assert_equal(322, n) | 794 assert_equal(322, n) |