Why is the error message coming by the end of the compilation?
Steven Schveighoffer
schveiguy at yahoo.com
Fri Apr 13 21:22:13 UTC 2018
On 4/13/18 4:50 PM, bauss wrote:
> I can't seem to reproduce this with any other smaller projects, so my
> question is really what could trigger this behavior.
>
> See: https://i.imgur.com/OmqJ8Sr.png
>
> Whenever I try to just do this kind of thing by itself then it behaves
> correctly.
>
> Ex: (As you can see it prints the error messages in the order it should.)
> https://run.dlang.io/
>
> What I'm doing is basically this:
> static foreach (viewResult; generateViewsResult)
> {
> pragma(msg, "Compiling: " ~ viewResult.name);
> mixin(viewResult.source);
> pragma(msg, "Compiled: " ~ viewResult.name);
> }
>
> I would've expect the compiling to be before the error message, but the
> compiled after the error message.
It may be on a later semantic pass that the error occurs, I'm not sure.
Only thing I can think of.
>
> However it seems like it doesn't do that, but as I can't reproduce it
> I'm just wondering what causes it.
>
> I'm suspecting that it's something to do with dub and that it's within a
> dependency that's compiled as a source library, but I've yet to test it
> out completely.
Try verbose output maybe?
>
> It's really impossible to debug mixins when you have no idea which mixin
> the error actually come from, which is what I'm trying to solve.
You may want to try using __traits(compiles) in a debug version to see
whether it will compile or not, and if not, print the thing you are
trying to compile.
-Steve
More information about the Digitalmars-d-learn
mailing list