From 78f06f06a6c97405950162077994b5174ec49208 Mon Sep 17 00:00:00 2001 From: Ken Matsui <26405363+ken-matsui@users.noreply.github.com> Date: Fri, 28 Nov 2025 18:37:32 -0500 Subject: [PATCH 1/3] chore: replace fmt with std in semver --- include/Semver.hpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/include/Semver.hpp b/include/Semver.hpp index bdd793f0d..c48107be2 100644 --- a/include/Semver.hpp +++ b/include/Semver.hpp @@ -11,7 +11,7 @@ #include #include -#include +#include #include #include #include @@ -86,8 +86,6 @@ bool operator<(const Version& lhs, const Version& rhs) noexcept; bool operator>(const Version& lhs, const Version& rhs) noexcept; bool operator<=(const Version& lhs, const Version& rhs) noexcept; bool operator>=(const Version& lhs, const Version& rhs) noexcept; -template <> -struct fmt::formatter : ostream_formatter {}; struct VersionLexer { std::string_view s; @@ -120,3 +118,17 @@ struct VersionParser { rs::Result parseBuild() noexcept; rs::Result parseIdent() noexcept; }; + +namespace std { + +template <> +struct formatter { + constexpr auto parse(format_parse_context& ctx) { return ctx.begin(); } + + template + auto format(const Version& ver, FormatContext& ctx) const { + return formatter{}.format(ver.toString(), ctx); + } +}; + +} // namespace std From 396e3d2f79e4f16ce31e83225849b7956fe1a2df Mon Sep 17 00:00:00 2001 From: Ken Matsui <26405363+ken-matsui@users.noreply.github.com> Date: Fri, 28 Nov 2025 19:13:49 -0500 Subject: [PATCH 2/3] fix: add fmt::formatter conditionally --- include/Semver.hpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/include/Semver.hpp b/include/Semver.hpp index c48107be2..08b074935 100644 --- a/include/Semver.hpp +++ b/include/Semver.hpp @@ -132,3 +132,10 @@ struct formatter { }; } // namespace std + +#if __has_include() +#include + +template <> +struct fmt::formatter : ostream_formatter {}; +#endif From 3f011b8c2a7baf4ea8a092430a0462eedf1d08c9 Mon Sep 17 00:00:00 2001 From: Ken Matsui <26405363+ken-matsui@users.noreply.github.com> Date: Fri, 28 Nov 2025 22:23:53 -0500 Subject: [PATCH 3/3] fix: format --- include/Semver.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/Semver.hpp b/include/Semver.hpp index 08b074935..e1dd09eff 100644 --- a/include/Semver.hpp +++ b/include/Semver.hpp @@ -134,7 +134,7 @@ struct formatter { } // namespace std #if __has_include() -#include +# include template <> struct fmt::formatter : ostream_formatter {};