You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use underlying type for enums in is_signed/is_unsigned.
With clang >= 21, using is_signed/is_unsigned with "small" enums
(having an underlying type smaller than an int) results in strong error,
after being reported as warnings for years (see #171).
Since boost::is_signed/is_unsigned differs explicitly from the std one,
and can return "true" for enums (contrary to the std one), keep this
boost behavior and implement a special check for enums.
This allows in particular boost::lexical_cast to keep working when
converting non-scoped enums from int to strings with clang >= 21,
see boostorg/lexical_cast#87).
0 commit comments