https://gcc.gnu.org/bugzilla/show_bug.cgi?id=22395
--- Comment #8 from marc at kdab dot com --- I don't think Effective C++ is the benchmark any more, so water under bridges that have already burned, but fwiw: contrary to C.127 these days, I learned this rule as "A base class's destructor should be public and virtual or else protected and non-virtual" (implying that, otherwise, don't use inheritance, but aggregation; could've been from CS:101 from Andrej and Herb).