Rainer Deyke wrote:
Walter Bright wrote:
It's deterministic in the sense that if you run the program again with
the same inputs, you will get the same result. This is a highly useful
attribute for testing and debugging.
On the same platform, with the same compiler, compiler settings, and
standard library implementation.  That makes it harder to test, not
easier.  You now have to test with multiple compilers.

That is still determinate. Indeterminate means you get different results if your run it again on the same machine.


It's safe as in memory safe. This is as opposed to undefined-behavior,
which is not memory safe. A buffer overflow is an example of
undefined-behavior.

The current behavior is unsafe in that you can accidentally have two
variables pointing at the same buffer.  Let's say one buffer holds
network input and the other holds some bytecode to execute.  Boom - a
bug that can be exploited to execute malicious (byte-)code.

It is not two random arrays randomly sharing data.

Reply via email to