diff --git a/include/fmt/compile.h b/include/fmt/compile.h index 111fffc9..12f203b2 100644 --- a/include/fmt/compile.h +++ b/include/fmt/compile.h @@ -947,8 +947,9 @@ size_t formatted_size(const CompiledFormat& cf, const Args&... args) { #if FMT_USE_NONTYPE_TEMPLATE_PARAMETERS inline namespace literals { template -constexpr detail::udl_compiled_string, - sizeof(Str.data), Str> +constexpr detail::udl_compiled_string< + remove_cvref_t, + sizeof(Str.data) / sizeof(decltype(Str.data[0])), Str> operator""_cf() { return {}; } diff --git a/test/compile-test.cc b/test/compile-test.cc index b0ea8fa2..7bae785d 100644 --- a/test/compile-test.cc +++ b/test/compile-test.cc @@ -316,6 +316,7 @@ TEST(CompileTest, CompileFormatStringLiteral) { using namespace fmt::literals; EXPECT_EQ("", fmt::format(""_cf)); EXPECT_EQ("42", fmt::format("{}"_cf, 42)); + EXPECT_EQ(L"42", fmt::format(L"{}"_cf, 42)); } #endif