Template Question
Mike Parker
aldacron71 at yahoo.com
Mon Apr 14 23:11:15 PDT 2008
Bill Baxter wrote:
> Mike Parker wrote:
>> Mike Parker wrote:
>>> Bill Baxter wrote:
>>>> Mike Parker wrote:
>>>>> Bill Baxter wrote:
>>>>>> Mike Parker wrote:
>>
>>>
>>> This is exactly what I was looking for. I don't understand it, but it
>>> works.
>>
>> Actually, it doesn't work.
>
> Ok, so in that case...
> I think you can put an alias for the type inside an interface, and use
> that to work around:
>
> interface Foo(T)
> {
> alias T TheType;
> void init(T);
> }
>
> ...
> static if ( is(U : Foo!(U.TheType)) ) {
> ...
> }
>
> That seems to work.
>
Yes, this works. But, the static if evaluation never completes if U does
not have TheType. It craps out with errors as soon as U.TheType is
encountered rather than printing out the more friendly static assert.
More information about the Digitalmars-d-learn
mailing list