Author
anonymous
over 6 years ago
Language
C++
Compiler
gcc HEAD 10.0.0 20191217 (experimental)
Options
Warnings
Boost 1.71.0
C++17
-pedantic
Author
anonymous
over 6 years ago
$ g++ prog.cc -Wall -Wextra -I/opt/wandbox/boost-1.71.0/gcc-head/include -std=c++17 -pedantic prog.cc: In substitution of 'template<class ... TLs> using product_t = decltype ((hlp::layered({}) ^ ...)) [with TLs = {typelist<A0, A1>, typelist<B0, B1>}]':
prog.cc:30:7: required by substitution of 'template<class ... TLs> using product_t = hlp::product_t<TLs ...> [with TLs = {typelist<A0, A1>, typelist<B0, B1>}]'
prog.cc:44:28: required from here
prog.cc:27:7: error: no match for 'operator^' (operand types are 'typelist<typelist<A0>, typelist<A1> >' and 'typelist<typelist<B0>, typelist<B1> >')
27 | using product_t = decltype((layered(TLs{}) ^ ...));
| ^~~~~~~~~
prog.cc: In substitution of 'template<class ... TLs> using product_t = decltype ((hlp::layered({}) ^ ...)) [with TLs = {typelist<A0, A1>, typelist<B0, B1>, typelist<C0, C1, C2>}]':
prog.cc:30:7: required by substitution of 'template<class ... TLs> using product_t = hlp::product_t<TLs ...> [with TLs = {typelist<A0, A1>, typelist<B0, B1>, typelist<C0, C1, C2>}]'
prog.cc:45:32: required from here
prog.cc:27:7: error: no match for 'operator^' (operand types are 'typelist<typelist<B0>, typelist<B1> >' and 'typelist<typelist<C0>, typelist<C1>, typelist<C2> >')
prog.cc:65:30: error: 'p1' was not declared in this scope; did you mean 't1'?
65 | static_assert(std::is_same_v<p1, expect1>);
| ^~
| t1
prog.cc:65:20: error: template argument 1 is invalid
65 | static_assert(std::is_same_v<p1, expect1>);
| ^~~~~~~~~~~~~~~~~~~~~~
prog.cc:66:30: error: 'p2' was not declared in this scope; did you mean 't2'?
66 | static_assert(std::is_same_v<p2, expect2>);
| ^~
| t2
prog.cc:66:20: error: template argument 1 is invalid
66 | static_assert(std::is_same_v<p2, expect2>);
| ^~~~~~~~~~~~~~~~~~~~~~
Exit Code:
1