Review: A new stab at a potential std.unittests

Leandro Lucarella luca at llucax.com.ar
Fri Nov 19 12:39:20 PST 2010


Sean Kelly, el 19 de noviembre a las 14:59 me escribiste:
> 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.

And what is func!("blah")(); is supposed to do, make x = "blah"? args[0]
= "blah"? both?

(I don't have a compiler at hand to try it =P)

-- 
Leandro Lucarella (AKA luca)                     http://llucax.com.ar/
----------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------
He used to do surgery
On girls in the eighties
But gravity always wins


More information about the Digitalmars-d mailing list