On Monday, 25 May 2020 at 10:41:43 UTC, rikki cattermole wrote:
On 25/05/2020 10:29 PM, Zoadian wrote:
you complain about @trusted losing it's meaning, but @safe was
ment to mean "mechanically verified memory safety". it should
be forbidden to add @safe to any function that can not be
verified by the compiler.
It is meant to mean that at some point it has been mechanically
checked by the compiler.
Either during current compilation or a prior one.
Which means it has to be valid on function declarations without
bodies so i.e. .di file generation works correctly which is
just a generated D file, nothing special syntax of semantics
wise.
.di files _could_ just use @trusted instead of @safe. but for
extern(D) we could at least add it to the name mangling. it's
still not 100% safe, but at least you'd have to work hard to get
it wrong.