Alias DestructorType
Destructor type of destructors of types Types
( void function(Evoid*)@destructor_attributes ).
alias DestructorType(Types...)
= typeof(&impl!());
Example
static assert(is(DestructorType!long == void function(Evoid*)pure nothrow @safe @nogc));
static struct Struct{
~this()nothrow @system{
}
}
static assert(is(DestructorType!Struct == void function(Evoid*)nothrow @system));
version(D_BetterC)
static extern(C)class Class{
~this()pure @trusted{
}
}
else
static class Class{
~this()pure @trusted{
}
}
static assert(is(DestructorType!Class == void function(Evoid*)pure @safe));
//multiple types:
static assert(is(DestructorType!(Class, Struct, long) == void function(Evoid*)@system));
static assert(is(
DestructorType!(Class, DestructorType!long, DestructorType!Struct) == DestructorType!(Class, Struct, long)
));