Skip to content

osd: qualify fmt::format_to() for gcc13#52417

Merged
cbodley merged 1 commit intoceph:mainfrom
cbodley:wip-61975
Jul 12, 2023
Merged

osd: qualify fmt::format_to() for gcc13#52417
cbodley merged 1 commit intoceph:mainfrom
cbodley:wip-61975

Conversation

@cbodley
Copy link
Contributor

@cbodley cbodley commented Jul 12, 2023

/home/cbodley/ceph/src/osd/scheduler/OpSchedulerItem.h:672:21: error: call of overloaded ‘format_to(fmt::v9::basic_format_context<fmt::v9::appender, char>::it erator, const char [59], const spg_t&, std::string, class_t, unsigned int, const std::__cxx11::basic_string<char>&, int, epoch_t, const std::__cxx11::basic_st ring<char>&)’ is ambiguous
  672 |     return format_to(
      |            ~~~~~~~~~^
  673 |         ctx.out(), "OpSchedulerItem({} {} class_id {} prio {}{} cost {} e{}{})",
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  674 |         opsi.get_ordering_token(), opsi.qitem->print(),
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  675 |         static_cast<class_t>(opsi.get_scheduler_class()), opsi.get_priority(),
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  676 |         qos_cost, opsi.get_cost(), opsi.get_map_epoch(), pushes);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/cbodley/ceph/src/fmt/include/fmt/core.h:3233:17: note: candidate: ‘OutputIt fmt::v9::format_to(OutputIt, format_string<T ...>, T&& ...) [with OutputIt =
 appender; T = {const spg_t&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned char, unsigned int, const std::__cxx11
::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int, unsigned int, const std::__cxx11::basic_string<char, std::char_traits<char>, std::a
llocator<char> >&}; typename std::enable_if<detail::is_output_iterator<OutputIt, char>::value, int>::type <anonymous> = 0; format_string<T ...> = basic_format
_string<char, const spg_t&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned char, unsigned int, const std::__cxx11::
basic_string<char, std::char_traits<char>, std::allocator<char> >&, int, unsigned int, const std::__cxx11::basic_string<char, std::char_traits<char>, std::all
ocator<char> >&>]’
 3233 | FMT_INLINE auto format_to(OutputIt out, format_string<T...> fmt, T&&... args)
      |                 ^~~~~~~~~
/usr/include/c++/13/format:3745:5: note: candidate: ‘_Out std::format_to(_Out, format_string<_Args ...>, _Args&& ...) [with _Out = fmt::v9::appender; _Args =
{const spg_t&, __cxx11::basic_string<char, char_traits<char>, allocator<char> >, unsigned char, unsigned int, const __cxx11::basic_string<char, char_traits<ch
ar>, allocator<char> >&, int, unsigned int, const __cxx11::basic_string<char, char_traits<char>, allocator<char> >&}; format_string<_Args ...> = basic_format_
string<char, const spg_t&, __cxx11::basic_string<char, char_traits<char>, allocator<char> >, unsigned char, unsigned int, const __cxx11::basic_string<char, ch
ar_traits<char>, allocator<char> >&, int, unsigned int, const __cxx11::basic_string<char, char_traits<char>, allocator<char> >&>]’
 3745 |     format_to(_Out __out, format_string<_Args...> __fmt, _Args&&... __args)
      |     ^~~~~~~~~

Fixes: https://tracker.ceph.com/issues/61975

Show available Jenkins commands
  • jenkins retest this please
  • jenkins test classic perf
  • jenkins test crimson perf
  • jenkins test signed
  • jenkins test make check
  • jenkins test make check arm64
  • jenkins test submodules
  • jenkins test dashboard
  • jenkins test dashboard cephadm
  • jenkins test api
  • jenkins test docs
  • jenkins render docs
  • jenkins test ceph-volume all
  • jenkins test ceph-volume tox
  • jenkins test windows

/home/cbodley/ceph/src/osd/scheduler/OpSchedulerItem.h:672:21: error: call of overloaded ‘format_to(fmt::v9::basic_format_context<fmt::v9::appender, char>::it
erator, const char [59], const spg_t&, std::string, class_t, unsigned int, const std::__cxx11::basic_string<char>&, int, epoch_t, const std::__cxx11::basic_st
ring<char>&)’ is ambiguous
  672 |     return format_to(
      |            ~~~~~~~~~^
  673 |         ctx.out(), "OpSchedulerItem({} {} class_id {} prio {}{} cost {} e{}{})",
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  674 |         opsi.get_ordering_token(), opsi.qitem->print(),
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  675 |         static_cast<class_t>(opsi.get_scheduler_class()), opsi.get_priority(),
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  676 |         qos_cost, opsi.get_cost(), opsi.get_map_epoch(), pushes);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/cbodley/ceph/src/fmt/include/fmt/core.h:3233:17: note: candidate: ‘OutputIt fmt::v9::format_to(OutputIt, format_string<T ...>, T&& ...) [with OutputIt =
 appender; T = {const spg_t&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned char, unsigned int, const std::__cxx11
::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int, unsigned int, const std::__cxx11::basic_string<char, std::char_traits<char>, std::a
llocator<char> >&}; typename std::enable_if<detail::is_output_iterator<OutputIt, char>::value, int>::type <anonymous> = 0; format_string<T ...> = basic_format
_string<char, const spg_t&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned char, unsigned int, const std::__cxx11::
basic_string<char, std::char_traits<char>, std::allocator<char> >&, int, unsigned int, const std::__cxx11::basic_string<char, std::char_traits<char>, std::all
ocator<char> >&>]’
 3233 | FMT_INLINE auto format_to(OutputIt out, format_string<T...> fmt, T&&... args)
      |                 ^~~~~~~~~
/usr/include/c++/13/format:3745:5: note: candidate: ‘_Out std::format_to(_Out, format_string<_Args ...>, _Args&& ...) [with _Out = fmt::v9::appender; _Args =
{const spg_t&, __cxx11::basic_string<char, char_traits<char>, allocator<char> >, unsigned char, unsigned int, const __cxx11::basic_string<char, char_traits<ch
ar>, allocator<char> >&, int, unsigned int, const __cxx11::basic_string<char, char_traits<char>, allocator<char> >&}; format_string<_Args ...> = basic_format_
string<char, const spg_t&, __cxx11::basic_string<char, char_traits<char>, allocator<char> >, unsigned char, unsigned int, const __cxx11::basic_string<char, ch
ar_traits<char>, allocator<char> >&, int, unsigned int, const __cxx11::basic_string<char, char_traits<char>, allocator<char> >&>]’
 3745 |     format_to(_Out __out, format_string<_Args...> __fmt, _Args&&... __args)
      |     ^~~~~~~~~

Fixes: https://tracker.ceph.com/issues/61975

Signed-off-by: Casey Bodley <cbodley@redhat.com>
@cbodley cbodley requested a review from a team as a code owner July 12, 2023 17:31
@github-actions github-actions bot added the core label Jul 12, 2023
@cbodley cbodley requested a review from ronen-fr July 12, 2023 17:32
@ronen-fr
Copy link
Contributor

oops...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants