On Saturday, 9 August 2014 at 05:42:09 UTC, H. S. Teoh via Digitalmars-d-learn wrote:
Why would having opDispatch actually generate compile errors cause problems for __traits(compiles,...)? __traits(compiles...) already works fine with a whole bunch of other non-compiling stuff (by gagging errors
while it attempts them).

The problem with opDispatch is that it gags too much, even when the
resolution ultimately fails, so you're left with mysterious
"disappearances" of opDispatch with no hint as to what went wrong. I'm not familiar with this part of DMD, but surely there's a way to make
this behave better??


T

You're right, between you and Artur and a night's rest I'm realizing what an utter mess my post was. At that point I had lost half a day debugging this and hadn't slept much so my thought process was not particularly coherent.

The only thing I've ever really managed to get out of opDispatch in terms of errors is to litter the thing with pragma(msg, ...) and hope that, on visual inspection, something clicks and I can figure out where I went wrong.

I think the real crux of my issue was misunderstanding "auto ref". After I noticed that I could use "const" or "@property" or some other qualifier instead of auto, I assumed that it implied auto, so that ref @property => auto ref @property. Evidently not. I was looking inside the method body for the issue when it was on that first line the whole time.

Reply via email to