[libcxx-commits] [libcxx] [libc++] Externally instantiate std::vformat_to (PR #71009)
Mark de Wever via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Nov 16 05:41:32 PST 2023
https://github.com/mordante requested changes to this pull request.
I'm really not a fan of this patch. It does not address or even mention the issues I mentioned in the past.
- The patch stores lookup tables in the dylib, these tables will change in the future. This means back-deployment targets will use old data.
- Not only the tables change, the algorithms used are not stable too. For example https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2713r1.html
This means for these cases depending on the `_OutIt` used the results of the formatting will be different.
Another issue is that the implementation of format changes with every language version so the results might be wrong for the selected language version since the code in the dylib is built with a hard-coded standard version. The last WG21 meeting in Kona had 3 format related papers; including 2 that are approved in the plenary as Defect Reports.
I also expect quite a number of users not to be happy with the increased size of the dylib.
I fully agree that it's not great that format pulls in a lot of code, but I'm not convinced putting parts in the dylib won't lead to other issues for users. It would be great to see how much the current format size issues are still an issue in a modular world.
https://github.com/llvm/llvm-project/pull/71009
More information about the libcxx-commits
mailing list