patch 8.2.1650: Vim9: result of && and || expression is not bool in script
Problem: Vim9: result of && and || expression cannot be assigned to a bool
at the script level.
Solution: Add the VAR_BOOL_OK flag. Convert to bool when needed.
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index c454ffe..bd0a5c8 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -66,13 +66,13 @@
let flag: bool = GetFlag()
assert_equal(true, flag)
flag = 0
- # assert_equal(false, flag)
+ assert_equal(false, flag)
flag = 1
- # assert_equal(true, flag)
- # flag = 99 || 123
- # assert_equal(true, flag)
- # flag = 'yes' && []
- # assert_equal(false, flag)
+ assert_equal(true, flag)
+ flag = 99 || 123
+ assert_equal(true, flag)
+ flag = 'yes' && []
+ assert_equal(false, flag)
END
CheckScriptSuccess(lines)
CheckDefAndScriptFailure(['let x: bool = 2'], 'E1012:')