https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91499
--- Comment #1 from Taras <l2m at ukr dot net> --- (In reply to Taras from comment #0) > > Here's the code that fails to compile on GCC: > > class Test // non-copyable and non-movable class with virtual functions > { upd.: The destructor isn't necessarily required to be virtual in this example -- the same error occurs without the "virtual" keyword, as long as Test's destructor has a user-defined body: ~Test() {} ^ does NOT compile as well but: ~Test() = default; // or if there's no explicitly mentioned destructor at all ^ compiles successfully however: virtual ~Test() = default; ^ does NOT compile