yxsamliu wrote: Thanks for reporting. A reduced testcase is https://godbolt.org/z/MY84az9xh
`template <class T> struct ptr { ~ptr() { static int x = 1;} }; template <class T> struct Abc : ptr<T> { public: Abc(); ~Abc() {} }; template class Abc<int>; ` clang thinks Abc<int>::~Abc() is trivial but it is not. It could be due to clang does not check base class for templates. Probably should only make instantiated ctor/dtor implicit. https://github.com/llvm/llvm-project/pull/72394 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits