On Monday, 25 May 2015 at 03:35:22 UTC, Jonathan M Davis wrote:
On Monday, May 25, 2015 03:19:29 tcak via Digitalmars-d-learn wrote:
Is there any syntax for something like that:

class Resource(T) if( is(T: FileResource) ){
}


I tried it as above, but it is not accepted. Maybe I am following
a wrong syntax.

I tried

class Resource(T: FileResource){
}

But it is not accepted as well.

What about it isn't accepted? This code compiles just fine


class FileResource
{
}

class SubFileResource : FileResource
{
}

class Resource(T)
    if(is(T : FileResource))
{
}

void main()
{
    Resource!SubFileResource foo;
}

- Jonathan M Davis

Well, if I do not check the line number of error, this happens. It was giving error on the line of creating a new instance.

Line 243: auto fileResourceList = new shared FileResourceList( 2 );

main.d(243): Error: class main.FileResourceList(T) if (is(T : FileResource)) is used as a type

Reply via email to