January 11, 2014
https://d.puremagic.com/issues/show_bug.cgi?id=11904

           Summary: Error: this cannot be interpreted at compile-time
                    (core/time.di)
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Keywords: CTFE
          Severity: major
          Priority: P2
         Component: DMD
        AssignedTo: nobody@puremagic.com
        ReportedBy: Marco.Leise@gmx.de


--- Comment #0 from Marco Leise <Marco.Leise@gmx.de> 2014-01-11 09:23:06 PST ---
I tried to compile dub with dub itself like so: dub build --compiler=gdc and got this error message:

/usr/include/d/4.8.1/x86_64-pc-linux-gnu/core/time.di:224: Error: this cannot be interpreted at compile time, because it has no available source code /usr/include/d/4.8.1/std/net/curl.d:195:        called from here: dur(2L)

It looks like there is no clear way for the D compiler even in Phobos and
druntime to figure out what source needs to stay in the .di file.
Is that a systematic failure? I ask that because up to 100% of any library code
could be run at compile time and CTFE only works when the source is available.
In effect that means that subtle changes like changing a global variable from
mutable to immutable or enum only work if Phobos is installed with full source
files, which at least GDC seems to try and avoid (probably in order to speed up
compilation due to the high interdependencies in Phobos modules).

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
January 11, 2014
https://d.puremagic.com/issues/show_bug.cgi?id=11904



--- Comment #1 from Marco Leise <Marco.Leise@gmx.de> 2014-01-11 09:45:34 PST ---
The latest versions of GDC no longer install interface files. This error occurred for the 2.063.2 version.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------