%module cpp20_constexpr_destructor // Test constexpr destructors introduced in C++20 %inline %{ class DtorA { public: constexpr ~DtorA() {} }; class DtorB { public: constexpr ~DtorB(); }; constexpr DtorB::~DtorB() {} class DtorC { public: virtual constexpr ~DtorC() {} }; class DtorD { public: constexpr virtual ~DtorD() {} }; class DtorE { public: inline virtual constexpr ~DtorE() {} }; class DtorF { public: virtual constexpr ~DtorF() = 0; }; class DtorG { public: virtual constexpr ~DtorG() = default; }; template struct DtorTemplate { virtual constexpr ~DtorTemplate(); }; template constexpr DtorTemplate::~DtorTemplate() {} %}