Am Tue, 07 Oct 2014 21:59:05 +0000 schrieb "Peter Alexander" <[email protected]>:
> On Tuesday, 7 October 2014 at 20:13:32 UTC, Jacob Carlborg wrote: > > I didn't look at any source code to see what "new" is actually > > allocating, for example. > > I did some random sampling, and it's 90% exceptions, with the > occasional array allocation. > > I noticed that a lot of the ~ and ~= complaints are in code that > only ever runs at compile time (generating strings for mixin). I > wonder if there's any way we can silence these false positives. Code in if(__ctfe) blocks could be (and should be) allowed: https://github.com/D-Programming-Language/dmd/pull/3572 But if you have got a normal function (string generateMixin()) the compiler can't really know that it's only used at compile time. And if it's not a template the code using the GC will be compiled, even if it's never called. This might be enough to get undefined symbol errors if you don't have an GC, so the error messages are kinda valid.
