Why __traits(compile,...) fails here?
Artur Skawina
art.08.09 at gmail.com
Tue Aug 7 02:47:42 PDT 2012
On 08/07/12 09:51, Zhenya wrote:
> import std.stdio;
>
> template isType(alias s)
> {
> enum isType = !__traits(compiles,mixin("typeof(s)"));
> }
>
> void main()
> {
> // writeln(isType!int);// Error: template instance isType!(int) isType!(int) does not match template declaration isType(alias s)
> writeln(__traits(compiles,mixin("typeof(int)")));//write: false
> }
Template alias parameters do not accept built-in types.
template isType(s) /*...*/
would compile.
artur
More information about the Digitalmars-d-learn
mailing list