Wandbox
SettingsLog
SettingsLog
Language
GitHubLogin
Ran/Viewed Log

Author

anonymous

about 6 years ago

Language

C++

Compiler

gcc 8.1.0

Options
Warnings
Boost 1.69.0
C++17
no pedantic

Author

anonymous

about 6 years ago

variant.hpp

$ 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