https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126675

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tkaminsk at gcc dot gnu.org

--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Because that's what we always do for explicit instantiation declarations. This
allows us to evolve the API without committing to a stable ABI that must be
exported from the shared library forever. This is essential for std::string
where we have new members like contains in the header, but not yet exported
from the shared library.

If you use an unstable experimental dialect, compile times are generally
slower. 

For std::format, maybe we can commit to exporting the symbols for C++23 now
that our format implementation is fairly stable and we have implemented all the
C++23 parts of format. 

(We could also consider exporting the C++23 members of std::string too)

Reply via email to