diff options
Diffstat (limited to 'Examples/test-suite/cpp20_constexpr_destructor.i')
-rw-r--r-- | Examples/test-suite/cpp20_constexpr_destructor.i | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/Examples/test-suite/cpp20_constexpr_destructor.i b/Examples/test-suite/cpp20_constexpr_destructor.i new file mode 100644 index 000000000..56c51e329 --- /dev/null +++ b/Examples/test-suite/cpp20_constexpr_destructor.i @@ -0,0 +1,50 @@ +%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<typename T> +struct DtorTemplate { + virtual constexpr ~DtorTemplate(); +}; + +template<typename T> +constexpr DtorTemplate<T>::~DtorTemplate() {} +%} |