Describe the bug
В рантайме результат арифметических операций кастуется к double. Смотри Simple::GetBinaryResult
Из-за этого условия работают некорректно. Например, в примере ниже условие в цикле не сработает
To Reproduce
let i = 0
const s = "abcdef"
const sLen = ~s
while (i < sLen) {
if (i + 1 == sLen)
>>> "i is 5"
i = i + 1
}
Expected behavior
Программа выводит i is 5
Desktop
- OS: win 10
- Platform: x64
- Version: 2.6.1
Additional context
Если инвертировать условие через вычитание, то программа отработает корректно
let i = 0
const s = "abcdef"
const sLen = ~s
while (i < sLen) {
if (i == sLen - 1)
>>> "i is 5"
i = i + 1
}
Describe the bug
В рантайме результат арифметических операций кастуется к
double. Смотри Simple::GetBinaryResultИз-за этого условия работают некорректно. Например, в примере ниже условие в цикле не сработает
To Reproduce
Expected behavior
Программа выводит
i is 5Desktop
Additional context
Если инвертировать условие через вычитание, то программа отработает корректно