-
Notifications
You must be signed in to change notification settings - Fork 49
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
Failed to compile, gcc 7.5.0 #62
Comments
MonkeyDied
changed the title
Failed to compile, gcc 7.5.0,
Failed to compile, gcc 7.5.0
Jul 16, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Found errors of the form parameter packs not expanded with ‘...’ and operand of fold expression has no unexpanded parameter packs when compiling things from widget/tuple.hpp. The function causing the error is
template <std::size_t... Is> [[nodiscard]] auto indexed_init_children(std::index_sequence<Is...>, typename Widget_t::Parameters... p)
I am using a Ubuntu 18.04 system with gcc 7.5.0.
I checked that, from https://gcc.gnu.org/projects/cxx-status.html#cxx17, the only feature in C++17 not implemented in gcc 7 is P0512R0, something related to Template argument deduction for class templates.
I wonder if this failure is due to the unimplemented feature P0512R0 in gcc 7 ?
If that is the case, is there a workaround to help me out ?
Sampled error messages
[build] /usr/bin/x86_64-linux-gnu-g++-7 -I.../TermOx/include -I.../TermOx/external/signals-light/include -I.../TermOx/external/Escape/include -g -Wall -Wextra -Wpedantic -std=gnu++1z -MD -MT src/CMakeFiles/TermOx.dir/widget/widgets/color_select.cpp.o -MF src/CMakeFiles/TermOx.dir/widget/widgets/color_select.cpp.o.d -o src/CMakeFiles/TermOx.dir/widget/widgets/color_select.cpp.o -c .../TermOx/src/widget/widgets/color_select.cpp
[build] In file included from .../TermOx/include/termox/widget/bordered.hpp:13:0,
[build] from .../TermOx/include/termox/widget/pipe.hpp:18,
[build] from .../TermOx/src/widget/widgets/color_select.cpp:8:
[build] .../TermOx/include/termox/widget/tuple.hpp: In lambda function:
[build] .../TermOx/include/termox/widget/tuple.hpp:83:27: error: parameter packs not expanded with ‘...’:
[build] if constexpr (std::is_constructible_v<
[build] ^~~
[build] .../TermOx/include/termox/widget/tuple.hpp:83:27: note: ‘Widget_t’
[build] .../TermOx/include/termox/widget/tuple.hpp:85:50: error: parameter packs not expanded with ‘...’:
[build] return std::make_unique<Widget_t>(std::move(p));
[build] ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
[build] .../TermOx/include/termox/widget/tuple.hpp:85:50: note: ‘__p’
[build] .../TermOx/include/termox/widget/tuple.hpp:85:50: note: ‘Widget_t’
[build] .../TermOx/include/termox/widget/tuple.hpp:87:50: error: parameter packs not expanded with ‘...’:
[build] return std::make_unique<Widget_t>();
[build] ~~~~~~~~~~~~~~~~~~~~~~~~~~^~
[build] .../TermOx/include/termox/widget/tuple.hpp:87:50: note: ‘Widget_t’
[build] .../TermOx/include/termox/widget/tuple.hpp: In member function ‘auto ox::Tuple<Layout_t, Widget_t>::indexed_init_children(std::index_sequence<__indices ...>, typename Widget_t::Parameters ...)’:
[build] .../TermOx/include/termox/widget/tuple.hpp:89:10: error: operand of fold expression has no unexpanded parameter packs
[build] ...);
[build] ^~~
The text was updated successfully, but these errors were encountered: