[D-runtime] Why does druntime us .di files instead of .d?
Sean Kelly
sean at invisibleduck.org
Sat Jul 16 05:01:53 PDT 2011
On Jul 13, 2011, at 4:01 PM, Jonathan M Davis wrote:
> On 2011-07-13 15:41, Walter Bright wrote:
>> On 7/13/2011 3:19 PM, Jonathan M Davis wrote:
>>> Given its heavy use of templates, I'm not sure how much that'll buy us in
>>> terms of compilation speed, and since it's all open source, I don't know
>>> why it would matter about hiding implementation details.
>>
>> Consider the garbage collector. Should every compilation have to recompile
>> that, too?
>
> Since it doesn't take very long to compile, I really don't care much
> personally, and I think that it's just simpler to only deal with .d files.
> However, I'm not against the use of .di files if it speeds up compilation and
> doesn't have any major drawbacks. My primary concern at the moment (and why I
> brought it up in the first place) is that it seems to be affecting CTFE. For
> instance, this program
>
> ====
> import std.stdio;
> import std.string;
>
> enum a = strip(" hello world");
>
> void main() {}
> ====
>
> currently fails to compile, giving these errors:
>
> ====
> /home/jmdavis/dmd2/linux/bin/../../src/phobos/std/string.d(1468): Error:
> _aApplycd2 cannot be interpreted at compile time, because it has no available
> source code
This function is in src/rt, which isn't publicly visible code (much like the GC). Is there a similar example involving a module in core.*?
More information about the D-runtime
mailing list