Thread overview | ||||||
---|---|---|---|---|---|---|
|
February 04, 2011 Can't evaluate enum at compile time | ||||
---|---|---|---|---|
| ||||
import std.path : join; enum rootdir = r"C:\Path\"; enum testdir = join(rootdir, "simple"); void main() { } enumBug.d(4): Error: variable __arrayArg774 is used before initialization enumBug.d(4): Error: cannot evaluate join("C:\\Path\\","simple",(const(char)[][0u] __arrayArg774 = void; , cast(const(char)[][])__arrayArg774)) at compile time enumBug.d(4): Error: cannot evaluate join("C:\\Path\\","simple",(const(char)[][0u] __arrayArg774 = void; , cast(const(char)[][])__arrayArg774)) at compile time std.path is supposed to work on strings, it doesn't touch std.file at all. Why can't it run at compile time? |
February 04, 2011 Re: Can't evaluate enum at compile time | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrej Mitrovic | Andrej Mitrovic:
> std.path is supposed to work on strings, it doesn't touch std.file at all. Why can't it run at compile time?
Most of Phobos is written in D, and D distributions contain full source code, so in similar cases you just need to take a look at the sources of Phobos and do some experiments to locate the problem. It seems your problem is caused by a CTFE bug, I will file it in bugzilla:
int foo(int x, int y, int[] more...) {
return 0;
}
enum r = foo(0, 0);
void main() {}
Bye,
bearophile
|
February 04, 2011 Re: Can't evaluate enum at compile time | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | > I will file it in bugzilla: http://d.puremagic.com/issues/show_bug.cgi?id=5524 |
February 04, 2011 Re: Can't evaluate enum at compile time | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | On 2/4/11, bearophile <bearophileHUGS@lycos.com> wrote: > Most of Phobos is written in D, and D distributions contain full source code, so in similar cases you just need to take a look at the sources of Phobos and do some experiments to locate the problem. Yeah. I was in the middle of something so I was too lazy to go figure it out on my own, hence I posted it here. :) > It seems your problem > is caused by a CTFE bug, I will file it in bugzilla: Thanks! |
Copyright © 1999-2021 by the D Language Foundation