On Friday, 2 September 2016 at 10:29:41 UTC, David Nadlinger
wrote:
On Friday, 2 September 2016 at 08:57:14 UTC, Basile B. wrote:
On Friday, 2 September 2016 at 08:15:53 UTC, ketmar wrote:
std.traits wrappers should use __traits to build *safe*
things (declaring that @trusted in the end).
This has nothing to do with memory safety.
Actually it does, albeit somewhat tangentially: Accessing
private members from the outside must be @system since the
@trusted implementation of a class might rely on nobody
meddling with the private state.
— David
The essence of the problem is that an aggregate cannot fully
introspect itself using a template located in another module. If
the @system constraint is only for the private members then it's
ok.