Getting the default value of a class member field
WebFreak001
d.forum at webfreak.org
Thu Dec 1 08:09:05 UTC 2022
I've got this class definition:
```d
class X
{
this()
{
assert(false);
}
int x = 3;
}
```
due to internal reasons the constructor would fail at compile
time, so I put in an assert(false) here, and I can't add or
change any methods in X.
How do I get `3` if I have `X` and field name `"x"` at compile
time?
For structs `X.init.x` / `__traits(getMember, X.init, "x")` would
work, however for classes it complains about null dereference.
I saw there is __traits(initSymbol), however that one doesn't
work at compile time.
More information about the Digitalmars-d-learn
mailing list