On Wednesday, 23 September 2015 at 14:34:07 UTC, bachmeier wrote:
On Wednesday, 23 September 2015 at 05:24:05 UTC, John Colvin wrote:

violating immutable is undefined behaviour, so the compiler is technically speaking free to assume it never happens. At the very least, neither snippet's result is guaranteed to show a change or not. At the most, literally anything can happen.

I was not aware that you could "violate" immutable. In that case, it's not immutable.

immutable is guaranteed to be enforced at the type-system level. If you deliberately break the type system and tell the compiler to modify data that in actual fact is immutable, then that is undefined behaviour. If you're lucky, the data could have some protection such that writing to it will trigger a fault at the hardware level, but that's definitely *not* guaranteed.

Reply via email to