On Sunday, 4 September 2016 at 10:33:44 UTC, Walter Bright wrote:
On 9/4/2016 2:17 AM, John Colvin wrote:
On Sunday, 4 September 2016 at 05:13:49 UTC, Walter Bright wrote:
On 9/3/2016 7:35 PM, John Colvin wrote:
In my experience getting a clue as to what is was the compiler didn't like is very useful. Often the only way I can find a workaround is by locating the assert in the compiler source and working out what it might possibly be to do with, then making informed guesses about what semi-equivalent code I can write
that will avoid the bug.

If the assert just had a little more info, it might save me a fair amount of
time.

If you're willing to look at the file/line of where the assert tripped, I
don't see how a message would save any time at all.

Because the message would give me a clue immediately, without me having to go looking in the compiler source (!). Also, I have a vague clue of how dmd works,
because I'm interested,

I don't know why opening a file and navigating to a line would consume a fair amount of time.


Opening the file isn't the problem, it's understanding the context in order to get hints as to what confused the compiler.

> but someone else in my position with a compiler crash in
> front of them and a deadline to hit isn't going to want to
have to understand it
> to find out "oh it's the variadic args marked scope that the
compiler is messing
> up on".

I don't think that's realistic. It'd be like me trying to guess why I got a kernel panic.

Well I've had to do it, a lot, in order to get work done. I'm not working out what's wrong with the compiler, I'm just getting a little more information in order to make better educated guesses of how to make my code compile.

As I mentioned before, assert failures are usually the result of the last edit one did. The problem is already narrowed down.

Narrowed down a bit. Often I've just done a big refactoring and/or written a bunch of new code that could (and should) never compile in any intermediate state. The clues that I get from the compiler source prove invaluable in working out a path to something that works without having to scrap a whole bunch of good work.

Reply via email to