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) ));
Destructor type of destructors of types Types ( void function(Evoid*)@destructor_attributes ).