On Tuesday, 6 September 2016 at 14:56:15 UTC, jmh530 wrote:

GC (and runtime in general) has no idea what code is safe and what code is system. GC works with data at run-time. All @safe-related stuff is about code (not data!) and happens at compile-time. They are completely orthogonal and independent, as I understand.

I don't see why you wouldn't be able to use compile-time information like __traits with the runtime.

In my head, I imagine that at compile-time you can figure out which unions are in @safe functions, add a UDA to each (so you're marking data, not code), and then read that information at run-time (like with __traits).

UDAs are also purely compile-time, they don't exist as run-time data.

Reply via email to