/* REQUIRED_ARGS: -release -check=assert=on PERMUTE_ARGS: -check=invariant=on */ // https://issues.dlang.org/show_bug.cgi?id=22945 bool hitStruct; bool hitClass; struct S { this(int) {} invariant { hitStruct = true; } } class C { this() {} invariant { hitClass = true; } } int main() { cast(void) S(0); cast(void) new C(); version(D_Invariants) { assert(hitStruct && hitClass); } else { assert(!hitStruct && !hitClass); } return 0; }