Wandbox
SettingsLog
SettingsLog
Language
GitHubLogin
Ran/Viewed Log

Author

anonymous

over 3 years ago

Language

C++

Compiler

gcc HEAD 12.0.0 20210721 (experimental)

Options
Warnings
Boost 1.73.0
C++2b(GNU)
no pedantic

Author

anonymous

over 3 years ago

$ g++ prog.cc -Wall -Wextra -I/opt/wandbox/boost-1.73.0/gcc-head/include -std=gnu++2b
In file included from /opt/wandbox/gcc-head/include/c++/12.0.0/bits/move.h:57,
                 from /opt/wandbox/gcc-head/include/c++/12.0.0/bits/stl_pair.h:59,
                 from /opt/wandbox/gcc-head/include/c++/12.0.0/bits/stl_algobase.h:64,
                 from /opt/wandbox/gcc-head/include/c++/12.0.0/bits/char_traits.h:39,
                 from /opt/wandbox/gcc-head/include/c++/12.0.0/string:40,
                 from /opt/wandbox/gcc-head/include/c++/12.0.0/bits/locale_classes.h:40,
                 from /opt/wandbox/gcc-head/include/c++/12.0.0/bits/ios_base.h:41,
                 from /opt/wandbox/gcc-head/include/c++/12.0.0/iomanip:40,
                 from prog.cc:2:
/opt/wandbox/gcc-head/include/c++/12.0.0/type_traits: In instantiation of 'decltype (__declval<_Tp>(0)) std::declval() [with _Tp = Example; decltype (__declval<_Tp>(0)) = Example&&]':
prog.cc:43:57:   required from 'static constexpr auto CartesianProduct<T1, T2, <anonymous>, <anonymous> >::outerHelper(std::tuple<_Args1 ...>, T) [with Ts = {Example, double}; T = std::tuple<int, double, float>; std::enable_if_t<is_default_constructible_v<T> >* <anonymous> = 0; std::enable_if_t<(is_default_constructible_v<Ts> && ...)>* <anonymous> = 0; T1 = std::tuple<Example, double>; T2 = std::tuple<int, double, float>; std::enable_if_t<is_tuple_v<T1> >* <anonymous> = 0; std::enable_if_t<is_tuple_v<T2> >* <anonymous> = 0]'
prog.cc:46:51:   required from 'class CartesianProduct<std::tuple<Example, double>, std::tuple<int, double, float>, 0, 0>'
prog.cc:49:7:   required by substitution of 'template<class T1, class T2> using CartesianProduct_t = typename CartesianProduct<T1, T2>::type [with T1 = std::tuple<Example, double>; T2 = std::tuple<int, double, float>]'
prog.cc:56:84:   required from here
/opt/wandbox/gcc-head/include/c++/12.0.0/type_traits:2384:47: error: static assertion failed: declval() must not be used!
 2384 |       static_assert(__declval_protector<_Tp>::__stop,
      |                                               ^~~~~~
/opt/wandbox/gcc-head/include/c++/12.0.0/type_traits:2384:47: note: 'std::__declval_protector<Example>::__stop' evaluates to false
/opt/wandbox/gcc-head/include/c++/12.0.0/type_traits: In instantiation of 'decltype (__declval<_Tp>(0)) std::declval() [with _Tp = std::tuple<int, double, float>; decltype (__declval<_Tp>(0)) = std::tuple<int, double, float>&&]':
prog.cc:43:76:   required from 'static constexpr auto CartesianProduct<T1, T2, <anonymous>, <anonymous> >::outerHelper(std::tuple<_Args1 ...>, T) [with Ts = {Example, double}; T = std::tuple<int, double, float>; std::enable_if_t<is_default_constructible_v<T> >* <anonymous> = 0; std::enable_if_t<(is_default_constructible_v<Ts> && ...)>* <anonymous> = 0; T1 = std::tuple<Example, double>; T2 = std::tuple<int, double, float>; std::enable_if_t<is_tuple_v<T1> >* <anonymous> = 0; std::enable_if_t<is_tuple_v<T2> >* <anonymous> = 0]'
prog.cc:46:51:   required from 'class CartesianProduct<std::tuple<Example, double>, std::tuple<int, double, float>, 0, 0>'
prog.cc:49:7:   required by substitution of 'template<class T1, class T2> using CartesianProduct_t = typename CartesianProduct<T1, T2>::type [with T1 = std::tuple<Example, double>; T2 = std::tuple<int, double, float>]'
prog.cc:56:84:   required from here
/opt/wandbox/gcc-head/include/c++/12.0.0/type_traits:2384:47: error: static assertion failed: declval() must not be used!
/opt/wandbox/gcc-head/include/c++/12.0.0/type_traits:2384:47: note: 'std::__declval_protector<std::tuple<int, double, float> >::__stop' evaluates to false
/opt/wandbox/gcc-head/include/c++/12.0.0/type_traits: In instantiation of 'decltype (__declval<_Tp>(0)) std::declval() [with _Tp = int; decltype (__declval<_Tp>(0)) = int&&]':
prog.cc:37:81:   required from 'static constexpr auto CartesianProduct<T1, T2, <anonymous>, <anonymous> >::innerHelper(T, std::tuple<_Args2 ...>) [with T = Example; Ts = {int, double, float}; std::enable_if_t<is_default_constructible_v<T> >* <anonymous> = 0; std::enable_if_t<(is_default_constructible_v<Ts> && ...)>* <anonymous> = 0; T1 = std::tuple<Example, double>; T2 = std::tuple<int, double, float>; std::enable_if_t<is_tuple_v<T1> >* <anonymous> = 0; std::enable_if_t<is_tuple_v<T2> >* <anonymous> = 0]'
prog.cc:43:40:   required from 'static constexpr auto CartesianProduct<T1, T2, <anonymous>, <anonymous> >::outerHelper(std::tuple<_Args1 ...>, T) [with Ts = {Example, double}; T = std::tuple<int, double, float>; std::enable_if_t<is_default_constructible_v<T> >* <anonymous> = 0; std::enable_if_t<(is_default_constructible_v<Ts> && ...)>* <anonymous> = 0; T1 = std::tuple<Example, double>; T2 = std::tuple<int, double, float>; std::enable_if_t<is_tuple_v<T1> >* <anonymous> = 0; std::enable_if_t<is_tuple_v<T2> >* <anonymous> = 0]'
prog.cc:46:51:   required from 'class CartesianProduct<std::tuple<Example, double>, std::tuple<int, double, float>, 0, 0>'
prog.cc:49:7:   required by substitution of 'template<class T1, class T2> using CartesianProduct_t = typename CartesianProduct<T1, T2>::type [with T1 = std::tuple<Example, double>; T2 = std::tuple<int, double, float>]'
prog.cc:56:84:   required from here
/opt/wandbox/gcc-head/include/c++/12.0.0/type_traits:2384:47: error: static assertion failed: declval() must not be used!
/opt/wandbox/gcc-head/include/c++/12.0.0/type_traits:2384:47: note: 'std::__declval_protector<int>::__stop' evaluates to false
/opt/wandbox/gcc-head/include/c++/12.0.0/type_traits: In instantiation of 'decltype (__declval<_Tp>(0)) std::declval() [with _Tp = double; decltype (__declval<_Tp>(0)) = double&&]':
prog.cc:37:81:   required from 'static constexpr auto CartesianProduct<T1, T2, <anonymous>, <anonymous> >::innerHelper(T, std::tuple<_Args2 ...>) [with T = Example; Ts = {int, double, float}; std::enable_if_t<is_default_constructible_v<T> >* <anonymous> = 0; std::enable_if_t<(is_default_constructible_v<Ts> && ...)>* <anonymous> = 0; T1 = std::tuple<Example, double>; T2 = std::tuple<int, double, float>; std::enable_if_t<is_tuple_v<T1> >* <anonymous> = 0; std::enable_if_t<is_tuple_v<T2> >* <anonymous> = 0]'
prog.cc:43:40:   required from 'static constexpr auto CartesianProduct<T1, T2, <anonymous>, <anonymous> >::outerHelper(std::tuple<_Args1 ...>, T) [with Ts = {Example, double}; T = std::tuple<int, double, float>; std::enable_if_t<is_default_constructible_v<T> >* <anonymous> = 0; std::enable_if_t<(is_default_constructible_v<Ts> && ...)>* <anonymous> = 0; T1 = std::tuple<Example, double>; T2 = std::tuple<int, double, float>; std::enable_if_t<is_tuple_v<T1> >* <anonymous> = 0; std::enable_if_t<is_tuple_v<T2> >* <anonymous> = 0]'
prog.cc:46:51:   required from 'class CartesianProduct<std::tuple<Example, double>, std::tuple<int, double, float>, 0, 0>'
prog.cc:49:7:   required by substitution of 'template<class T1, class T2> using CartesianProduct_t = typename CartesianProduct<T1, T2>::type [with T1 = std::tuple<Example, double>; T2 = std::tuple<int, double, float>]'
prog.cc:56:84:   required from here
/opt/wandbox/gcc-head/include/c++/12.0.0/type_traits:2384:47: error: static assertion failed: declval() must not be used!
/opt/wandbox/gcc-head/include/c++/12.0.0/type_traits:2384:47: note: 'std::__declval_protector<double>::__stop' evaluates to false
/opt/wandbox/gcc-head/include/c++/12.0.0/type_traits: In instantiation of 'decltype (__declval<_Tp>(0)) std::declval() [with _Tp = float; decltype (__declval<_Tp>(0)) = float&&]':
prog.cc:37:81:   required from 'static constexpr auto CartesianProduct<T1, T2, <anonymous>, <anonymous> >::innerHelper(T, std::tuple<_Args2 ...>) [with T = Example; Ts = {int, double, float}; std::enable_if_t<is_default_constructible_v<T> >* <anonymous> = 0; std::enable_if_t<(is_default_constructible_v<Ts> && ...)>* <anonymous> = 0; T1 = std::tuple<Example, double>; T2 = std::tuple<int, double, float>; std::enable_if_t<is_tuple_v<T1> >* <anonymous> = 0; std::enable_if_t<is_tuple_v<T2> >* <anonymous> = 0]'
prog.cc:43:40:   required from 'static constexpr auto CartesianProduct<T1, T2, <anonymous>, <anonymous> >::outerHelper(std::tuple<_Args1 ...>, T) [with Ts = {Example, double}; T = std::tuple<int, double, float>; std::enable_if_t<is_default_constructible_v<T> >* <anonymous> = 0; std::enable_if_t<(is_default_constructible_v<Ts> && ...)>* <anonymous> = 0; T1 = std::tuple<Example, double>; T2 = std::tuple<int, double, float>; std::enable_if_t<is_tuple_v<T1> >* <anonymous> = 0; std::enable_if_t<is_tuple_v<T2> >* <anonymous> = 0]'
prog.cc:46:51:   required from 'class CartesianProduct<std::tuple<Example, double>, std::tuple<int, double, float>, 0, 0>'
prog.cc:49:7:   required by substitution of 'template<class T1, class T2> using CartesianProduct_t = typename CartesianProduct<T1, T2>::type [with T1 = std::tuple<Example, double>; T2 = std::tuple<int, double, float>]'
prog.cc:56:84:   required from here
/opt/wandbox/gcc-head/include/c++/12.0.0/type_traits:2384:47: error: static assertion failed: declval() must not be used!
/opt/wandbox/gcc-head/include/c++/12.0.0/type_traits:2384:47: note: 'std::__declval_protector<float>::__stop' evaluates to false
Exit Code:
1