CTFE and RTFE results differ (aliasing)
monkyyy
crazymonkyyy at gmail.com
Mon May 5 18:23:21 UTC 2025
On Monday, 5 May 2025 at 17:15:57 UTC, kdevel wrote:
>
even worse:
```d
auto foo(ubyte[4] s){
ubyte[] u = s;
ubyte[4] tmp = u;
u[0] = tmp[3];
u[3] = tmp[0];
return u;
}
unittest{
import std;
enum ubyte[4] u = [1, 2, 3, 4];
enum r = foo(u);
auto s = foo(u);
r.writeln;
s.writeln;
assert(r!=s);
}
```
```
2.105.3: Success with output:
-----
1 modules passed unittests
[1, 2, 3, 4]
[4, 2, 3, 1]
[216, 88, 171, 59]
-----
2.106.1: Success with output:
-----
1 modules passed unittests
[1, 2, 3, 4]
[4, 2, 3, 1]
[136, 48, 143, 115]
-----
Since 2.107.0: Success with output:
-----
1 modules passed unittests
[1, 2, 3, 4]
[4, 2, 3, 1]
[56, 227, 42, 198]
-----
```
what fun
More information about the Digitalmars-d-learn
mailing list