True or False or False = False

от автора

image Интересный и волнующий баг сегодня нашел в Delphi XE5 и опубликовал владелец g+ комьюнити Delphi Developers, Lars Fosdal.

При некоторых условиях, True or False or False вычисляется в False, при этом (True or False or False) вычисляется в ожидаемое True.
В комментариях также замечают, что был случай когда x := True or True or True также выдавал False

Баг плавающий, и после очистки и пересборки проекта с нуля, он прошел.

Ниже, под спойлером, приведены скриншоты обсуждения

Скрины

image
image

Всем пользователям XE5 настоятельно рекомендую покрывать юнит-тестами даже самые очевидные места.

ссылка на оригинал статьи http://habrahabr.ru/post/213733/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *