I think point about `export` is important. Tying definition of "API" to `export` instead of `public` fits much better definition of those attributes (latter only guarantees symbol access, former also ensures cross-binary availablity) and allows for more explicit migration step (as `export` is widely underused right now).

Also the issue you have pointed out about API templates that call private functions is essentially same issue as Benjamin was pointing out here : http://forum.dlang.org/post/[email protected]

I can't propose good solution here right now but I do believe those 2 problems need to be solved in one step.

Reply via email to