Review: A new stab at a potential std.unittests

Sean Kelly sean at invisibleduck.org
Fri Nov 19 11:59:18 PST 2010


Jonathan M Davis Wrote:

> On Friday, November 19, 2010 11:37:16 Sean Kelly wrote:
> > Jonathan M Davis Wrote:
> > > In particular, needing to pass LineInfo() to assertExcThrown!() to know
> > > the file and line number was disliked (though it was by far the best
> > > solution that I'd been able to come up with).
> > 
> > Not sure if this helps, but if you default-initialize template function
> > parameters with __LINE__ and __FILE__ they get the line and file of where
> > the template was instantiated.
> 
> Yes. The problem was that the function was a _variadic_ template. So, you 
> couldn't have default arguments.

This should work:

void func(string x = __FILE__, T...)(T args);

D allows defaulted template arguments to occur before non-defaulted ones.


More information about the Digitalmars-d mailing list