/** Test how destruction of scoped classes is handled.
 */
module scoped_class_dtor;

@safe class C
{
    ~this() { }
}

@safe class D : C
{
}

static assert(__traits(hasMember, C, "__dtor"));
static assert(__traits(hasMember, D, "__dtor"));

import core.internal.traits : hasElaborateDestructor;
static assert(!hasElaborateDestructor!C); // false to classes