Err compile time interpreter my function!
Zaher Dirkey via Digitalmars-d
digitalmars-d at puremagic.com
Fri Dec 26 07:01:50 PST 2014
Thank you.
I understand it as functiosn, but not classes, i fixed it by
moving creating "env" from declaration of the "SardRun" class
into a function.
https://github.com/zaher/d-sard/commit/9fbf3df40373d89152b00c02d9de352d64c12077#diff-8b265cbc4eda6c1f724e9f726b0da853
I feel i will fail in the same error in the future, i want to
understand it
On Friday, 26 December 2014 at 08:55:36 UTC, Tobias Pankrath
wrote:
> ---
> class C
> {
> int a = foo(); // foo is called at compile time
> }
> ---
>
> Reduced test case:
>
> ---
> class S
> {
> int a = compileTime(1);
> int b = compileTime(2);
> }
>
> int compileTime(int i) { import std.stdio; writeln("ct"); return
> i; }
> ---
>
> This works as expected. To initialize your fields at runtime
> (using a constructor) will solve your problem.
More information about the Digitalmars-d
mailing list