Hey Rustfag

Cnile detected. I bet this cuckaroo still uses a MMU lmao.

assuming the implementers did everything correctly protip: they didn't

Without a proper spec, Rust is tied to whatever the fuck its reference compiler does and everyone else has to play catchup.

Yes, you are right. Thanks to LLVM you can invoke UB in safe Rust. C/C++ strikes again.


Correct. Which means Rust is imlementation define, not undefined.
Also nobody cares about a spec.

So is C's standard, that doesn't mean it's difficult to find its draft. Three of the five languages you listed are strongly related and one (JS) errs too much in the other direction, where an implementation must implement completely retarded things (e.g. integers as FP) to stay conformant. I don't know Eiffel, so I'll skip that one.

You already got an answer about some things in Common Lisp, but here you go, see "ยง1.4.2 Error Terminology". Other examples of undefined behavior in CL are wrong type declaration, since those exist for optimization reasons, and assigning to a constant. For some reason I remember that a FORMAT call with too few arguments is undefined too, but I can't seem to find this in the standard. Maybe it was changed before standardization and is somewhere in CLtL. However, a lot of the problems as in C are avoided because the safety level of compilation is adjustable, so implementations will very dutifully check for errors at max safety and let hell break loose if you lower it. Common Lisp, like Ada, is generally a very well-designed language -- unlike the garbage you see nowadays where supposed high-level languages don't even have a fucking rational number type because wah wah that's not in C.

Stop eating my attachments, you big gay.

Rust is correctly panicking instead of going off and fucking everything up in UB land.