Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GCC-9 build error #3092

Closed
phprus opened this issue Sep 10, 2022 · 0 comments
Closed

GCC-9 build error #3092

phprus opened this issue Sep 10, 2022 · 0 comments

Comments

@phprus
Copy link
Contributor

phprus commented Sep 10, 2022

Commit with added GCC-9 CI: phprus@4e38606
Full build log: https://github.com/phprus/fmt/runs/8287290178?check_suite_focus=true

Error:

In file included from /home/runner/work/fmt/fmt/test/xchar-test.cc:8:
/home/runner/work/fmt/fmt/include/fmt/xchar.h: In instantiation of ‘bool fmt::v9::detail::write_loc(OutputIt, fmt::v9::basic_format_arg<fmt::v9::basic_format_context<std::back_insert_iterator<fmt::v9::detail::buffer<wchar_t> >, wchar_t> >, const fmt::v9::basic_format_specs<wchar_t>&, fmt::v9::detail::locale_ref) [with OutputIt = wchar_t*]’:
/home/runner/work/fmt/fmt/include/fmt/format.h:2200:16:   required from ‘constexpr OutputIt fmt::v9::detail::write(OutputIt, T, const fmt::v9::basic_format_specs<Char>&, fmt::v9::detail::locale_ref) [with Char = wchar_t; OutputIt = wchar_t*; T = int; typename std::enable_if<((fmt::v9::detail::is_integral<T>::value && (! std::is_same<T, bool>::value)) && (! std::is_same<OutputIt, typename std::conditional<std::is_same<Char, char>::value, fmt::v9::appender, std::back_insert_iterator<fmt::v9::detail::buffer<T> > >::type>::value)), int>::type <anonymous> = 0]’
/home/runner/work/fmt/fmt/include/fmt/format.h:3789:31:   required from ‘constexpr decltype (ctx.out()) fmt::v9::formatter<T, Char, typename std::enable_if<(fmt::v9::detail::type_constant<T, Char>::value != fmt::v9::detail::type::custom_type), void>::type>::format(const T&, FormatContext&) const [with FormatContext = fmt::v9::basic_format_context<wchar_t*, wchar_t>; T = int; Char = wchar_t; typename std::enable_if<(fmt::v9::detail::type_constant<T, Char>::value != fmt::v9::detail::type::custom_type), void>::type = void; decltype (ctx.out()) = wchar_t*]’
/home/runner/work/fmt/fmt/include/fmt/core.h:827:72:   required by substitution of ‘template<class Context, class T> constexpr decltype ((typename Context::formatter_type<T>().format(declval<const T&>(), declval<Context&>()), true)) fmt::v9::detail::has_const_formatter_impl(T*) [with Context = fmt::v9::basic_format_context<wchar_t*, wchar_t>; T = int]’
/home/runner/work/fmt/fmt/include/fmt/core.h:837:43:   required from ‘constexpr bool fmt::v9::detail::has_const_formatter() [with T = int; Context = fmt::v9::basic_format_context<wchar_t*, wchar_t>]’
/home/runner/work/fmt/fmt/include/fmt/core.h:1498:54:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/runner/work/fmt/fmt/include/fmt/core.h:1526:33:   required by substitution of ‘template<class T, class U, typename std::enable_if<((((((! fmt::v9::detail::is_string<S>::value) && (! fmt::v9::is_char<U>::value)) && (! std::is_array<_To>::value)) && (! std::is_pointer<_Dp>::value)) && (! fmt::v9::detail::has_format_as<U>::value)) && (std::is_constructible<fmt::v9::formatter<U, wchar_t, void> >::value || fmt::v9::detail::has_fallback_formatter<U, wchar_t>::value)), int>::type <anonymous> > constexpr decltype (((fmt::v9::detail::arg_mapper<fmt::v9::basic_format_context<wchar_t*, wchar_t> >*)this)->fmt::v9::detail::arg_mapper<fmt::v9::basic_format_context<wchar_t*, wchar_t> >::do_map(forward<T>(val))) fmt::v9::detail::arg_mapper<fmt::v9::basic_format_context<wchar_t*, wchar_t> >::map<T, U, <enumerator> >(T&&) [with T = const int&; U = int; typename std::enable_if<((((((! fmt::v9::detail::is_string<S>::value) && (! fmt::v9::is_char<U>::value)) && (! std::is_array<_To>::value)) && (! std::is_pointer<_Dp>::value)) && (! fmt::v9::detail::has_format_as<U>::value)) && (std::is_constructible<fmt::v9::formatter<U, wchar_t, void> >::value || fmt::v9::detail::has_fallback_formatter<U, wchar_t>::value)), int>::type <anonymous> = 0]’
/home/runner/work/fmt/fmt/include/fmt/core.h:1542:7:   required by substitution of ‘template<class T, class Context> using mapped_type_constant = fmt::v9::detail::type_constant<decltype (fmt::v9::detail::arg_mapper<Context>().map(declval<const T&>())), typename Context::char_type> [with T = int; Context = fmt::v9::basic_format_context<wchar_t*, wchar_t>]’
/home/runner/work/fmt/fmt/include/fmt/core.h:2971:78:   required from ‘constexpr fmt::v9::detail::format_string_checker<Char, ErrorHandler, Args>::format_string_checker(fmt::v9::basic_string_view<Char>, ErrorHandler) [with Char = wchar_t; ErrorHandler = fmt::v9::detail::error_handler; Args = {int}]’
/home/runner/work/fmt/fmt/include/fmt/core.h:3022:33:   required from ‘void fmt::v9::detail::check_format_string(S) [with Args = {int}; S = xchar_test_compile_time_string_Test::TestBody()::<lambda()>::FMT_COMPILE_STRING; typename std::enable_if<fmt::v9::detail::is_compile_string<S>::value, int>::type <anonymous> = 0]’
/home/runner/work/fmt/fmt/include/fmt/core.h:3176:41:   required from ‘fmt::v9::basic_format_string<Char, Args>::basic_format_string(const S&) [with S = xchar_test_compile_time_string_Test::TestBody()::<lambda()>::FMT_COMPILE_STRING; typename std::enable_if<std::is_convertible<const S&, fmt::v9::basic_string_view<Char> >::value, int>::type <anonymous> = 0; Char = wchar_t; Args = {int}]’
/home/runner/work/fmt/fmt/test/xchar-test.cc:104:3:   required from here
/home/runner/work/fmt/fmt/include/fmt/xchar.h:36:27: error: could not convert ‘out’ from ‘wchar_t*’ to ‘fmt::v9::detail::buffer_appender<wchar_t>’ {aka ‘std::back_insert_iterator<fmt::v9::detail::buffer<wchar_t> >’}
   36 |       loc_writer<wchar_t>{out, specs, separator, grouping, {}}, val);
      |                           ^~~
      |                           |
      |                           wchar_t*
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants