Mercurial > projects > dstress
changeset 621:a4e907daaf85
const: compile or runtime?
xs0 <xs0@xs0.com>
2005-08-11
news:ddfegl$2uof$1@digitaldaemon.com
author | thomask |
---|---|
date | Fri, 12 Aug 2005 15:32:23 +0000 |
parents | 03ad4005cd8e |
children | 7acb8b34c87a |
files | undefined/const_24.d |
diffstat | 1 files changed, 41 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/undefined/const_24.d Fri Aug 12 15:32:23 2005 +0000 @@ -0,0 +1,41 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ xs0 <xs0@xs0.com> +// @date@ 2005-08-11 +// @uri@ news:ddfegl$2uof$1@digitaldaemon.com + +// +// http://www.digitalmars.com/d/attribute.html +// +// (1) +// The const attribute declares constants that can be evaluated at +// compile time. +// +// (2) +// A const declaration without an initializer must be initialized in a +// constructor (for class fields) or in a static constructor (for static +// class members, or module variable declarations). +// + +module dstress.undefined.const_24; + +class Class{ + const int i; + + this(){ + i=dynamicInt; // illegal(1) or legal(2) ? + } +} + +int dynamicInt; + +int main(char[][] args){ + dynamicInt=args.length; + + Class c = new Class(); + assert(c.i==args.length); + + return 0; +} \ No newline at end of file