Hello,

Why this doesn't work:
```d
template DestructorType(T){

        alias Get(T) = T;

    alias DestructorType = Get!(typeof((void*){
        T tmp;
    }));
}

struct Foo{

    ~this()@safe{}
}
```


```d
void main(){
//Error: static assert: `is(void function(void*) pure nothrow @nogc @safe : void function(void*) @safe)` is false static assert(is(void function(void*)pure nothrow @safe @nogc : DestructorType!Foo));

}

```

but this work:
```d

void main(){

    alias X = void function(void*)@safe;


static assert(is(void function(void*)pure nothrow @safe @nogc : DestructorType!Foo));

}
```

Reply via email to