https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102350
--- Comment #12 from Jonathan Wakely <redi at gcc dot gnu.org> --- We could have added std::__source_location_impl as the type that the built-in returns and used that instead of making it a private member of std::source_location. That would also have allowed it to be used by std::experimental::source_location, and by other users outside the std::lib.