// REQUIRED_ARGS: -check=in=off -check=out=off -check=invariant=off // PERMUTE_ARGS: class C { int foo(int a) in { assert(a != 0); } // skipped out(res) { assert(res != 0); } // skipped do { return a; } invariant // skipped { assert(false); } void bar(int a) { assert(a != 0); // triggered } } void main() { import core.exception : AssertError; auto c = new C; c.foo(0); bool catched; try c.bar(0); catch (AssertError e) catched = true; if (!catched) assert(0); }