https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113074
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- https://eel.is/c++draft/memory#pointer.conversion As far as I can tell, std::to_address is not required to be SFINAE safe ... The standard just says: ``` Returns: pointer_traits<Ptr>::to_address(p) if that expression is well-formed (see [pointer.traits.optmem]), otherwise to_address(p.operator->()). ```