Thread overview | |||||
---|---|---|---|---|---|
|
February 05, 2005 invariant bug or documentation error. | ||||
---|---|---|---|---|
| ||||
Private member g() in an invariant block causes a stack overflow, contrary to the doc.: http://digitalmars.com/d/class.html class Foo { int i = 10; private int g() { return i = 1; } this(){} invariant { g(); // Causes Stack Overflow after constructor is called assert(i >= 10); } } void main() { Foo f = new Foo(); assert(f); // or when this is executed f.g(); // or when this is called. } |
February 05, 2005 Re: invariant bug or documentation error. | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dave | This applies to dmd v0.111. In article <cu30gc$29cb$1@digitaldaemon.com>, Dave says... > >Private member g() in an invariant block causes a stack overflow, contrary to the doc.: http://digitalmars.com/d/class.html > >class Foo >{ > int i = 10; > private int g() { return i = 1; } > this(){} > invariant > { > g(); // Causes Stack Overflow after constructor is called > assert(i >= 10); > } >} > >void main() >{ > Foo f = new Foo(); > assert(f); // or when this is executed > f.g(); // or when this is called. >} > > |
February 06, 2005 Re: invariant bug or documentation error. | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dave | -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Dave schrieb am Sat, 5 Feb 2005 11:43:33 -0600: > Private member g() in an invariant block causes a stack overflow, contrary to the doc.: http://digitalmars.com/d/class.html > > class Foo > { > int i = 10; > private int g() { return i = 1; } > this(){} > invariant > { > g(); // Causes Stack Overflow after constructor is called > assert(i >= 10); > } > } > > void main() > { > Foo f = new Foo(); > assert(f); // or when this is executed > f.g(); // or when this is called. > } Added to DStress as http://dstress.kuehne.cn/run/invariant_19.d http://dstress.kuehne.cn/run/invariant_20.d http://dstress.kuehne.cn/run/invariant_21.d http://dstress.kuehne.cn/run/invariant_22.d Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFCBf073w+/yD4P9tIRAsoAAJ4k1hQqgPd9b0fWTgR3PWKgzo9JoQCfXMnx WDW/MkhZ5PQ+D80YqF5Nyz8= =62nc -----END PGP SIGNATURE----- |
Copyright © 1999-2021 by the D Language Foundation