https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93060
Bug ID: 93060
Summary: __uint128_t is not an
std::integral/std::unsigned_integral
Product: gcc
Version: 10.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: euloanty at live dot com
Target Milestone: ---
Host: GCC 10
https://en.cppreference.com/w/cpp/types/is_integral
<source>:5:20: error: static assertion failed
5 | static_assert(std::unsigned_integral<__uint128_t>);
| ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<source>:5:20: note: constraints not satisfied
The cppreference said, "or any implementation-defined extended integer types".
Checks whether T is an integral type. Provides the member constant value which
is equal to true, if T is the type bool, char, char8_t, char16_t, char32_t,
wchar_t, short, int, long, long long, or any implementation-defined extended
integer types, including any signed, unsigned, and cv-qualified variants.
Otherwise, value is equal to false.
https://godbolt.org/z/vm68cj