Why __traits(compile,...) fails here?
Zhenya
zheny at list.ru
Tue Aug 7 03:42:05 PDT 2012
On Tuesday, 7 August 2012 at 09:47:58 UTC, Artur Skawina wrote:
> 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
Thank you)
More information about the Digitalmars-d-learn
mailing list