D is dead
Walter Bright
newshound2 at digitalmars.com
Sat Aug 25 20:07:20 UTC 2018
On 8/25/2018 6:33 AM, Shachar Shemesh wrote:
> If you allow a feature to be disabled, you really need to keep in mind that
> feature might be well and truly disabled.
Disabling default initializations is not @safe, and that means taking
responsibility for it not being default initialized.
It's like turning off array bounds checking. Then it's up to you to ensure no
buffer overflows are happening.
On a pragmatic note, what you're asking for is a set of nested try blocks, one
for each field with a throwing constructor, as opposed to one try block around
the entire function. This is an expensive proposition in terms of performance.
You'll need to weigh that very carefully against saving the default zero
initialization of the struct, which is very efficient.
More information about the Digitalmars-d
mailing list