On Monday, November 02, 2015 00:36:14 anonymous via Digitalmars-d-learn wrote: > On 01.11.2015 23:49, Adam D. Ruppe wrote: > > Yeah, just make the other args normal runtime instead of template: > > Or make it two nested templates: > > template show(T ...) > { > void show(string file = __FILE__, uint line = __LINE__, > string fun = __FUNCTION__)() > { > ... > } > }
You should pretty much never use __FILE__ or __LINE__ as template arguments unless you actually need to. The reason is that it will end up creating a new instantiation of the template pretty much every time that it's used, which is going to be mean a _lot_ of extra code bloat if you use the template much. And in some, rare circumstances that may be exactly what you want. But it almost never is. - Jonathan M Davis