Proposal: static template(fail)

BCS ao at pathlink.com
Thu Dec 13 11:28:07 PST 2007


Reply to Janice,

> I would like to propose a new statement:
> 
> static template(fail);
> 
> which causes a compile-time substitution failure. And remember: SFINAE
> - Substitution Failure Is Not An Error
> 
> Let me give you an example:
> 
> struct S(T)
> {
> static if(isFloatingPoint!(T))
> {
> /*...*/
> }
> else static if(passesSomeVeryComplicatedTest!(T))
> {
> /*...*/
> }
> else
> {
> static template(fail); // SFINAE
> }
> }
> This has advantages over old-style specialisation.
> 

vote++

either for the "static template(fail)" or "T:if(exp)" form





More information about the Digitalmars-d mailing list