https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115497
--- Comment #9 from Jonathan Wakely <redi at gcc dot gnu.org> --- Changing libstdc++ order of includes won't help abseil. If their use of __is_pointer still comes after any standard header has included cpp_type_traits.h, the identifier will be "poisoned" by the class template. So they need their own workaround.