> such as the fact that a safe subset exists, but depends on GC,
@safe works perfectly fine and exactly the same in @nogc code as in GC-enabled code.
@safe works perfectly fine and exactly the same in @nogc code as in GC-enabled code.
https://dlang.org/articles/safed.html#safed-subset
> When you enter SafeD, you leave your pointers, unchecked casts and unions at the door. Memory management is provided to you courtesy of Garbage Collection.
Does D provide the necessary tooling to be able to expose a safe API for something which needs to allocate memory, without needing a GC?
Following that you will want to check for null ext. to make it actually @safe in practice and not just typed as such.
I'm aware that D has @live, a WIP attribute that mimics Rust semantics, but it's not remotely ready for production.