mirror of
https://github.com/fmtlib/fmt.git
synced 2024-12-25 15:21:54 +00:00
e6ef927e6b
Passing a function pointer to fmt::ptr results in: In file included from /home/mac/git/fmt/test/gmock/gmock.h:238, from /home/mac/git/fmt/test/format-test.cc:31: .../fmt/test/format-test.cc: In member function ‘virtual void FormatterTest_FormatPointer_Test::TestBody()’: .../fmt/test/format-test.cc:1486:56: error: no matching function for call to ‘ptr(void (&)(int, double, std::__cxx11::string))’ format("{}", fmt::ptr(function_pointer_test))); with GCC and Clang. Let's add an overload to support that usage. Unfortunately, MSVC would consider the overload to be ambiguous for unknown reasons: D:\a\fmt\fmt\test\format-test.cc(1485,1): error C2668: 'fmt::v7::ptr': ambiguous call to overloaded function [D:\a\fmt\build\test\format-test.vcxproj] D:\a\fmt\fmt\include\fmt/format.h(3742,60): message : could be 'const void *fmt::v7::ptr<void,int,double,std::string>(T (__cdecl *)(int,double,std::string))' [D:\a\fmt\build\test\format-test.vcxproj] with [ T=void ] D:\a\fmt\fmt\include\fmt/format.h(3735,42): message : or 'const void *fmt::v7::ptr<void(int,double,std::string)>(T (__cdecl *))' [D:\a\fmt\build\test\format-test.vcxproj] with [ T=void (int,double,std::string) ] D:\a\fmt\fmt\test\format-test.cc(1486,1): message : while trying to match the argument list '(overloaded-function)' [D:\a\fmt\build\test\format-test.vcxproj] but luckily this means that the overload is unnecessary in that case anyway, so we can just make it conditional. |
||
---|---|---|
.. | ||
add-subdirectory-test | ||
compile-error-test | ||
cuda-test | ||
find-package-test | ||
fuzzing | ||
gmock | ||
gtest | ||
assert-test.cc | ||
chrono-test.cc | ||
CMakeLists.txt | ||
color-test.cc | ||
compile-test.cc | ||
core-test.cc | ||
enforce-compile-string-test.cc | ||
format | ||
format-impl-test.cc | ||
format-test.cc | ||
gmock-gtest-all.cc | ||
gtest-extra-test.cc | ||
gtest-extra.cc | ||
gtest-extra.h | ||
header-only-test2.cc | ||
header-only-test.cc | ||
locale-test.cc | ||
mock-allocator.h | ||
os-test.cc | ||
ostream-test.cc | ||
posix-mock-test.cc | ||
posix-mock.h | ||
printf-test.cc | ||
ranges-test.cc | ||
scan-test.cc | ||
scan.h | ||
std-format-test.cc | ||
test-assert.h | ||
test-main.cc | ||
util.cc | ||
util.h |