Author
anonymous
almost 6 years ago
Language
C++
Compiler
gcc 8.1.0
Options
Warnings
Boost 1.69.0
C++17
no pedantic
Author
anonymous
almost 6 years ago
$ g++ prog.cc -Wall -Wextra -I/opt/wandbox/boost-1.69.0/gcc-8.1.0/include -std=c++17
In file included from prog.cc:1:
variant.hpp: In instantiation of 'void boost::variant2::detail::variant_storage_impl<std::integral_constant<bool, true>, T1, T ...>::emplace_impl(boost::mp11::mp_false, boost::mp11::mp_size_t<0>, A&& ...) [with A = {Guard}; T1 = Guard; T = {}; boost::mp11::mp_false = std::integral_constant<bool, false>; boost::mp11::mp_size_t<0> = std::integral_constant<long unsigned int, 0>]':
variant.hpp:556:9: required from 'constexpr void boost::variant2::detail::variant_storage_impl<std::integral_constant<bool, true>, T1, T ...>::emplace(boost::mp11::mp_size_t<I>, A&& ...) [with long unsigned int I = 0; A = {Guard}; T1 = Guard; T = {}; boost::mp11::mp_size_t<I> = std::integral_constant<long unsigned int, 0>]'
variant.hpp:546:9: required from 'constexpr void boost::variant2::detail::variant_storage_impl<std::integral_constant<bool, true>, T1, T ...>::emplace_impl(boost::mp11::mp_false, boost::mp11::mp_size_t<I>, A&& ...) [with long unsigned int I = 1; A = {Guard}; T1 = X; T = {Guard}; boost::mp11::mp_false = std::integral_constant<bool, false>; boost::mp11::mp_size_t<I> = std::integral_constant<long unsigned int, 1>]'
variant.hpp:556:9: required from 'constexpr void boost::variant2::detail::variant_storage_impl<std::integral_constant<bool, true>, T1, T ...>::emplace(boost::mp11::mp_size_t<I>, A&& ...) [with long unsigned int I = 1; A = {Guard}; T1 = X; T = {Guard}; boost::mp11::mp_size_t<I> = std::integral_constant<long unsigned int, 1>]'
variant.hpp:546:9: required from 'constexpr void boost::variant2::detail::variant_storage_impl<std::integral_constant<bool, true>, T1, T ...>::emplace_impl(boost::mp11::mp_false, boost::mp11::mp_size_t<I>, A&& ...) [with long unsigned int I = 2; A = {Guard}; T1 = boost::variant2::detail::none; T = {X, Guard}; boost::mp11::mp_false = std::integral_constant<bool, false>; boost::mp11::mp_size_t<I> = std::integral_constant<long unsigned int, 2>]'
variant.hpp:556:9: required from 'constexpr void boost::variant2::detail::variant_storage_impl<std::integral_constant<bool, true>, T1, T ...>::emplace(boost::mp11::mp_size_t<I>, A&& ...) [with long unsigned int I = 2; A = {Guard}; T1 = boost::variant2::detail::none; T = {X, Guard}; boost::mp11::mp_size_t<I> = std::integral_constant<long unsigned int, 2>]'
variant.hpp:693:13: required from 'void boost::variant2::detail::variant_base_impl<true, true, T ...>::emplace_impl(boost::mp11::mp_false, boost::mp11::mp_false, A&& ...) [with long unsigned int J = 2; U = Guard; A = {int}; T = {X, Guard}; boost::mp11::mp_false = std::integral_constant<bool, false>]'
variant.hpp:703:9: required from 'constexpr void boost::variant2::detail::variant_base_impl<true, true, T ...>::emplace(A&& ...) [with long unsigned int I = 1; A = {int}; T = {X, Guard}]'
variant.hpp:1328:49: required from 'constexpr U& boost::variant2::variant<T>::emplace(A&& ...) [with U = Guard; A = {int}; E = void; T = {X, Guard}]'
prog.cc:25:27: required from here
variant.hpp:541:9: error: use of deleted function 'Guard::Guard(Guard&&)'
::new( &first_ ) T1( std::forward<A>(a)... );
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
prog.cc:12:5: note: declared here
Guard(Guard&&) = delete;
^~~~~
Exit Code:
1