On Thursday, 3 February 2022 at 01:51:34 UTC, Basile B. wrote:
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)
the D safe way :
```
void main() @safe
{
char[] palindrome = "able was I ere I saw elba".dup;
writeln(palindrome);
writeln(palindrome.reverse);
}
```