An article about contract programming

bearophile bearophileHUGS at lycos.com
Wed Feb 6 03:18:08 PST 2013


Walter Bright:

> Invariants, per the spec, [...]

Right, I was proposing a little spec change.

--------------------

Don:

> Sounds like bug 519 to me.

http://d.puremagic.com/issues/show_bug.cgi?id=519

Hours ago I have added this:
http://d.puremagic.com/issues/show_bug.cgi?id=9454

They are very similar, the test case from Issue 519 uses a new:


class Foo {
     invariant() {
         assert (false);
     }
}
void main() {
     Foo foo = new Foo();
}


While in Issue 9454 (just like in that Ada code) there is no new:


struct Foo {
     int x = 200;
     invariant() { assert(x > 100); }
}
void main() {
     auto f = Foo(10);
}


Maybe my Issue 9454 should be merged with Issue 519.

Bye,
bearophile


More information about the Digitalmars-d-announce mailing list