On 11/17/14 3:51 PM, Walter Bright wrote:
On 11/17/2014 12:32 PM, Steven Schveighoffer wrote:
On 11/17/14 3:02 PM, Martin Nowak wrote:
Walter is about to fix an old bug [1] so that invariants are now called
before destruction and for non-default construction.

This sounds good.

A remaining question is whether invariants should also be called for
default construction [2].

I'd say no. There are better ways to test for valid data in the .init
version of
the object/struct that don't involve a runtime check.

Not only that, the runtime check would occur every time an object is
created, yet the .init will always be the same. Doing this check would,
I fear, cause people to disable invariants as not worth the expense.

It's already not worth the expense for Objects, which Object.invariant for every function call, even if you don't define one.

-Steve

Reply via email to