Our template emission strategy is broken

deadalnix via Digitalmars-d digitalmars-d at puremagic.com
Thu Nov 12 14:58:20 PST 2015


On Thursday, 12 November 2015 at 22:50:08 UTC, Walter Bright 
wrote:
> On 11/11/2015 9:19 AM, David Nadlinger wrote:
>> Of course, many of the problems could have probably been 
>> avoided if there was an
>> iron-clad rule that the module dependency graph must remain 
>> acyclic from the
>> beginning of development (at least at the level of units of 
>> compilation).
>
> In hindsight, I would have made D enforce that (Go does).
>

That's impossible because of the way we do mixin. You can have a 
template that do mixin without creating loop because then you 
pass it down identifiers that won't resolve.

That has been a giant pain in various situations in project I 
work on.


More information about the Digitalmars-d mailing list