diff --git a/src/Magnum/Math/BoolVector.h b/src/Magnum/Math/BoolVector.h index 8b6a169eb..0ccc4b9bd 100644 --- a/src/Magnum/Math/BoolVector.h +++ b/src/Magnum/Math/BoolVector.h @@ -122,7 +122,7 @@ template class BoolVector { /** @brief Set bit at given position */ BoolVector& set(std::size_t i, bool value) { - _data[i/8] &= ~(1 << i%8) | (value << i%8); + _data[i/8] ^= (-Byte(value) ^ _data[i/8]) & (0x01 << i); return *this; }