Better mixin error messages

Nicholas Wilson via Digitalmars-d digitalmars-d at puremagic.com
Sun Apr 17 16:16:34 PDT 2016


On Sunday, 17 April 2016 at 22:08:55 UTC, Bauss wrote:
> On Sunday, 17 April 2016 at 21:59:38 UTC, Timon Gehr wrote:
>> On 17.04.2016 23:49, Bauss wrote:
>>> On Sunday, 17 April 2016 at 21:23:58 UTC, Timon Gehr wrote:
>>>> mixin(generate());
>>>> pragma(msg,generate());
>>>   That's not a solution to the problem, because you will be 
>>> printing ALL
>>> mixins and not just the ones causing compilation errors.
>>
>> Obviously you'll insert this specifically for the mixin that 
>> causes the compilation error.
>
> I don't think you understand the issue. It's the same mixin but 
> with different parameters for the generation, thus this is not 
> possible, because you don't know which one of the exact 
> generated ones is the issue,
>
> Like I also said this does not apply to normal mixins but 
> usually very big mixins composited of multiple mixins and 
> template mixins.

I remember Deadalnix saying in one of his DConf talks on SDC that 
SDC was capable of tracking mixin locations properly and would 
print something like

error on line 12 of mixin 'foo()', mixed in from line 45 of mixin 
'bar()' mixed in from line 8 of file baz.d

for a error nested in a chain of mixins.


More information about the Digitalmars-d mailing list