https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125569
Bug ID: 125569
Summary: GCC treats a class with a deleted destructor as
std::is_literal_type
Product: gcc
Version: 15.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: qurong at ios dot ac.cn
Target Milestone: ---
After reduction, the following reproducer is rejected by GCC 15.2.0 because the
static_assert fails, while Clang 22 accepts it:
#include <type_traits>
struct NotLiteral {
~NotLiteral() = delete;
};
static_assert(!std::is_literal_type<NotLiteral>::value, "NotLiteral should not
be literal");
GCC diagnostic:
error: static assertion failed: NotLiteral should not be literal