https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93413
Bug ID: 93413 Summary: Destructor definition not found during constant evaluation Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: rejects-valid Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: antoshkka at gmail dot com Target Milestone: --- Consider the example: struct Base { constexpr virtual ~Base(){} }; struct Derived: Base {}; constexpr Derived d; Destructor for the `Derived` should be implicitly defined. However the above snippet produces error message on GCC-10 with -std=c++2a flag: `error: 'virtual constexpr Derived::~Derived()' used before its definition`.