Consistency, Templates, Constructors, and D3 - __traits syntax
Nick Treleaven
nospam at example.net
Sat Aug 25 05:03:22 PDT 2012
On 24/08/2012 17:27, Nick Treleaven wrote:
> On 24/08/2012 06:14, F i L wrote:
>> It's a similar story with __traits(). What appears to be a function
>> taking in a run-time parameter is actually compile-time parameter which
>> works by "magic". It should look like:
>>
>> bool b = traits!HasMember(Foo);
Correcting myself:
bool b = traits.hasMember!(Foo, "bar");
int i;
bool b = traits.isArithmetic!i;
> 'i' cannot be a compile-time parameter or a runtime parameter either (by
> normal rules).
I realized I was wrong here, 'i' can be a template alias parameter.
> So I think __traits are special, they're not really like
> a template function.
But most seem close in semantics to a template instantiation, so that
syntax might be nice.
More information about the Digitalmars-d
mailing list