Hi, On Thu, 15 May 2025 at 18:10, minung...@gmail.com wrote:
> Currently guix-daemon is built using GCC 11 with -std=c++11. We are > waiting for guile-daemon [1], but we can have improvements on > guix-daemon right now. > > In nix/libutil/util.cc there are lots of functions related to > copy/delete files and manipulate file paths. In C++ 17 the standard > library’s <filesystem> provides the same functionality which is more > reliable. > > guix-daemon uses Boost.Format to generate formatted string. These code > are copied into nix/libformat directly and I think it is not a good > practice. With C++ 20 we can use <format> from C++’s standard > library. I have done some experiments on it [2]. In my code repo I > replace all boost::format with std::format in nix/libutil. > > We can use <filesystem> if we upgrade from —std=c++11 to > -std=c++17. For <format> we need GCC 13 with -std=c++20. Oh cool! Do you see differences? I guess one concern could be to take into account “downstream“. For instance, Guix is packaged by Debian or else. Cheers, simon