On Thursday, 16 September 2021 at 20:49:28 UTC, seany wrote:
I compile with : `dub build -b release --compiler=ldc2`

The result executing the compiled binary 'myproj' is is ( whether `writeln (a[1])` is uncommented, or the `test()` function is uncommented) some random number, usually negative with large absolute value, such as `-1894658200` .

If this is embedded in a class, then the result is segfault.

Is this expected behavior?

Yes. You have a -release build, "defaulting to disabled asserts/contracts/invariants, and bounds checks in @safe functions only", and you have an array out of bounds in a @system function, so your array out of bounds goes unchecked.

Reply via email to