Интересный и волнующий баг сегодня нашел в 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
Баг плавающий, и после очистки и пересборки проекта с нуля, он прошел.
Ниже, под спойлером, приведены скриншоты обсуждения
Скрины
Всем пользователям XE5 настоятельно рекомендую покрывать юнит-тестами даже самые очевидные места.
Автор: mentatxx