https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96416
--- Comment #2 from Zach Laine <whatwasthataddress at gmail dot com> --- Fair enough. [pointer.conversion] says that to_pointer(const Ptr& p) is "pointer_traits<Ptr>::to_address(p) if that expression is well-formed (see [pointer.traits.optmem]), otherwise to_address(p.operator->())". Do we then have a spec bug?