ldc executable crashes with this code

Basile B. b2.temp at gmx.com
Thu Feb 3 01:51:34 UTC 2022


On Thursday, 3 February 2022 at 01:39:33 UTC, forkit wrote:
> On Wednesday, 2 February 2022 at 23:30:50 UTC, H. S. Teoh wrote:
>> [...]
>
> that explains ldc perhaps (although i don't really get it. It's 
> cast to mutable and being assigned to mutable.
>
> in any case... ldc doesn't like it, but dmd is fine with this ??

your cast from immutable to mutable is an undefined behavior, 
this may work or not.

> Note that casting away a const qualifier and then mutating is 
> undefined behavior, too, even when the referenced data is 
> mutable. This is so that compilers and programmers can make 
> assumptions based on const alone. For example, here it may be 
> assumed that f does not alter x:

(from https://dlang.org/spec/const3.html#removing_with_cast)


More information about the Digitalmars-d-learn mailing list