Visual Studio 2022 17.5.4 outputs the following error:
D:\mongo\src\third_party\fmt\dist\include\fmt\ostream.h(114,3): error C2593: 'operator <<' is ambiguous
output << value;
^
C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\include\ostream(298,39): note: could be 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostream<char,std::char_traits<char>>::operator <<(unsigned int)'
basic_ostream& __CLR_OR_THIS_CALL operator<<(unsigned int _Val) { // insert an unsigned int
^
D:\mongo\src\mongo/base/string_data.h(216,15): note: or 'std::ostream &mongo::operator <<(std::ostream &,mongo::StringData)' [found using argument-dependent lookup]
std::ostream& operator<<(std::ostream& stream, StringData value);
^
D:\mongo\src\third_party\fmt\dist\include\fmt\ostream.h(114,3): note: while trying to match the argument list '(std::basic_ostream<char,std::char_traits<char>>, const T)'
with
[
T=mongo::DecimalCounter<uint32_t>
]
output << value;
^
D:\mongo\src\third_party\fmt\dist\include\fmt\ostream.h(138,1): note: see reference to function template instantiation 'void fmt::v7::detail::format_value<T,mongo::DecimalCounter<uint32_t>>(fmt::v7::detail::buffer<T> &,const mongo::DecimalCounter<uint32_t> &,fmt::v7::detail::locale_ref)' being compiled
with
[
T=char
]
format_value(buffer, value, ctx.locale());
^
D:\mongo\src\third_party\fmt\dist\include\fmt\core.h(1117,1): note: see reference to function template instantiation 'OutputIt fmt::v7::detail::fallback_formatter<mongo::DecimalCounter<uint32_t>,Char,void>::format<fmt::v7::detail::buffer_appender<char>>(const T &,fmt::v7::basic_format_context<OutputIt,Char> &)' being compiled
with
[
OutputIt=fmt::v7::detail::buffer_appender<char>,
Char=char,
T=mongo::DecimalCounter<uint32_t>
]
ctx.advance_to(f.format(*static_cast<const T*>(arg), ctx));
^
D:\mongo\src\third_party\fmt\dist\include\fmt\core.h(1117,19): note: see reference to function template instantiation 'OutputIt fmt::v7::detail::fallback_formatter<mongo::DecimalCounter<uint32_t>,Char,void>::format<fmt::v7::detail::buffer_appender<char>>(const T &,fmt::v7::basic_format_context<OutputIt,Char> &)' being compiled
with
[
OutputIt=fmt::v7::detail::buffer_appender<char>,
Char=char,
T=mongo::DecimalCounter<uint32_t>
]
ctx.advance_to(f.format(*static_cast<const T*>(arg), ctx));
^
D:\mongo\src\third_party\fmt\dist\include\fmt\core.h(1106): note: see reference to function template instantiation 'void fmt::v7::detail::value<Context>::format_custom_arg<T,fmt::v7::detail::fallback_formatter<T,Char,void>>(const void *,fmt::v7::basic_format_parse_context<Char,fmt::v7::detail::error_handler> &,Context &)' being compiled
with
[
Context=fmt::v7::format_context,
T=mongo::DecimalCounter<uint32_t>,
Char=char
]
fallback_formatter<T, char_type>>>;
D:\mongo\src\third_party\fmt\dist\include\fmt\core.h(1103,19): note: see reference to function template instantiation 'void fmt::v7::detail::value<Context>::format_custom_arg<T,fmt::v7::detail::fallback_formatter<T,Char,void>>(const void *,fmt::v7::basic_format_parse_context<Char,fmt::v7::detail::error_handler> &,Context &)' being compiled
with
[
Context=fmt::v7::format_context,
T=mongo::DecimalCounter<uint32_t>,
Char=char
]
custom.format = format_custom_arg<
^
D:\mongo\src\third_party\fmt\dist\include\fmt\core.h(1445,3): note: see reference to function template instantiation 'fmt::v7::detail::value<Context>::value<U>(const T &)' being compiled
with
[
Context=fmt::v7::format_context,
U=mongo::DecimalCounter<uint32_t>,
T=mongo::DecimalCounter<uint32_t>
]
return check<T>(arg_mapper<Context>().map(val));
^
D:\mongo\src\third_party\fmt\dist\include\fmt\core.h(1445,3): note: see reference to function template instantiation 'fmt::v7::detail::value<Context>::value<U>(const T &)' being compiled
with
[
Context=fmt::v7::format_context,
U=mongo::DecimalCounter<uint32_t>,
T=mongo::DecimalCounter<uint32_t>
]
D:\mongo\src\third_party\fmt\dist\include\fmt\core.h(1589): note: see reference to function template instantiation 'fmt::v7::detail::value<Context> fmt::v7::detail::make_arg<true,Context,fmt::v7::detail::type::custom_type,mongo::DecimalCounter<uint32_t>,0>(const T &)' being compiled
with
[
Context=fmt::v7::format_context,
T=mongo::DecimalCounter<uint32_t>
]
format_arg_store(const Args&... args)
D:\mongo\src\third_party\fmt\dist\include\fmt\core.h(1589,1): note: while compiling class template member function 'fmt::v7::format_arg_store<fmt::v7::basic_format_context<fmt::v7::detail::buffer_appender<char>,char>,mongo::StringData,mongo::DecimalCounter<uint32_t>>::format_arg_store(const mongo::StringData &,const mongo::DecimalCounter<uint32_t> &)'
format_arg_store(const Args&... args)
^
D:\mongo\src\third_party\fmt\dist\include\fmt\core.h(1633,3): note: see reference to function template instantiation 'fmt::v7::format_arg_store<fmt::v7::basic_format_context<fmt::v7::detail::buffer_appender<char>,char>,mongo::StringData,mongo::DecimalCounter<uint32_t>>::format_arg_store(const mongo::StringData &,const mongo::DecimalCounter<uint32_t> &)' being compiled
return {args...};
^
D:\mongo\src\third_party\fmt\dist\include\fmt\core.h(2081): note: see reference to class template instantiation 'fmt::v7::format_arg_store<fmt::v7::basic_format_context<fmt::v7::detail::buffer_appender<char>,char>,mongo::StringData,mongo::DecimalCounter<uint32_t>>' being compiled
FMT_INLINE std::basic_string<Char> format(const S& format_str, Args&&... args) {
src\mongo\bson\bsonelement.cpp(452): note: see reference to function template instantiation 'std::basic_string<char,std::char_traits<char>,std::allocator<char>> fmt::v7::format<char[52],mongo::StringData&,mongo::DecimalCounter<uint32_t>&,char>(const S (&),mongo::StringData &,mongo::DecimalCounter<uint32_t> &)' being compiled
with
[
S=char [52]
]
fieldName == counter);
- is caused by
-
SERVER-81191 Checking array field names in IDL is expensive
-
- Closed
-