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)