delfunc! g:Func
enddef
-def Test_let_func_call()
+def Test_var_func_call()
var lines =<< trim END
vim9script
func GetValue()
delete('Xfinished')
enddef
-def Test_let_missing_type()
+def Test_var_missing_type()
var lines =<< trim END
vim9script
var name = g:unknown
CheckScriptSuccess(lines)
enddef
-def Test_let_declaration()
+def Test_var_declaration()
var lines =<< trim END
vim9script
var name: string
unlet g:other_var
enddef
-def Test_let_declaration_fails()
+def Test_var_declaration_fails()
var lines =<< trim END
vim9script
final var: string
CheckScriptFailure(lines, 'E475:')
enddef
-def Test_let_type_check()
+def Test_var_type_check()
var lines =<< trim END
vim9script
var name: string
let g:dict_number = #{one: 1, two: 2}
-def Test_let_list_dict_type()
+def Test_var_list_dict_type()
var ll: list<number>
ll = [1, 2, 2, 3, 3, 3]->uniq()
ll->assert_equal([1, 2, 3])
CheckDefExecFailure(lines, 'E1012: Type mismatch; expected list<number> but got list<string>')
enddef
+def Test_cannot_use_let()
+ CheckDefAndScriptFailure(['let a = 34'], 'E1126:', 1)
+enddef
+
def Test_unlet()
g:somevar = 'yes'
assert_true(exists('g:somevar'))