Comment #0 by bearophile_hugs — 2010-06-15T18:13:44Z
I'd like D docs to state that invariants can be used inside structs too (so putting the explanation of invariants in this page is bad: http://www.digitalmars.com/d/2.0/class.html#Invariant ).
The documentation about struct invariants also needs to exaplain that the assert() syntax can't be used to call struct invariants (as it is possible with class references):
struct Foo {
int x;
invariant() { assert(x == 1); }
}
void main() {
Foo f;
assert(f); // Error: expression f of type Foo does not have a boolean value
}
Comment #1 by leandro.lucarella — 2010-06-21T17:44:13Z
I think this is a duplicate of bug 3578, please check if there is something missing in that bug and add it as a comment. Since both bugs are so similar I don't see a point on having both open so I'm marking it as duplicate.
Please, feel free to correct me if I'm wrong.
*** This issue has been marked as a duplicate of issue 3578 ***