Деструкторы по умолчанию не являются виртуальными, чтобы не повредить, когда они не нужны, и это нормально.
Но в случае сценария производного класса базового класса существует ли какой-либо вариант использования виртуального деструктора? Если бы не было возможно (имеет смысл) компилятор жаловаться, если класс происходит из базового класса, который имеет открытый не виртуальный деструктор (или не деструктор). И не просто предупреждайте об этом.