Author
anonymous
over 6 years ago
Language
C++
Compiler
clang HEAD 8.0.0 (https://github.com/llvm-mirror/clang.git 33b30eb6d622918dcdc0425730a712f0460db522) (https://github.com/llvm-mirror/llvm.git c93c84c76212d2ca49767ccd0bd89076291a7fce)
Options
Warnings
Boost 1.68.0
C++2a(GNU)
no pedantic
Author
anonymous
over 6 years ago
$ clang++ prog.cc -Wall -Wextra -I/opt/wandbox/boost-1.68.0/clang-head/include -std=gnu++2a
prog.cc:83:47: error: '~ProtectedDestructor' is a protected member of 'ProtectedDestructor'
using has_dtor = decltype(std::declval<U&>().~U());
^
prog.cc:26:19: note: in instantiation of template type alias 'has_dtor' requested here
: type_identity<Op<Args...>>
^
prog.cc:45:1: note: in instantiation of template class 'detail::detector<nonesuch, void, has_dtor, ProtectedDestructor>' requested here
using is_detected =
^
prog.cc:55:32: note: in instantiation of template type alias 'is_detected' requested here
constexpr bool is_detected_v = is_detected<Op, Args...>::value;
^
prog.cc:87:5: note: in instantiation of variable template specialization 'is_detected_v<has_dtor, ProtectedDestructor>' requested here
= (is_detected_v<has_dtor,
^
prog.cc:92:45: note: in instantiation of variable template specialization 'is_destructible_v<ProtectedDestructor>' requested here
struct is_destructible : std::bool_constant<is_destructible_v<T>>
^
prog.cc:113:17: note: in instantiation of template class 'is_destructible<ProtectedDestructor>' requested here
static_assert(!is_destructible<T>::value, "");
^
prog.cc:280:2: note: in instantiation of function template specialization 'test_is_not_destructible<ProtectedDestructor>' requested here
test_is_not_destructible<ProtectedDestructor>();
^
prog.cc:177:2: note: declared protected here
~ProtectedDestructor()
^
prog.cc:83:47: error: '~ProtectedDestructor' is a protected member of 'ProtectedDestructor'
using has_dtor = decltype(std::declval<U&>().~U());
^
prog.cc:45:1: note: in instantiation of template class 'detail::detector<nonesuch, void, has_dtor, ProtectedDestructor>' requested here
using is_detected =
^
prog.cc:55:32: note: in instantiation of template type alias 'is_detected' requested here
constexpr bool is_detected_v = is_detected<Op, Args...>::value;
^
prog.cc:87:5: note: in instantiation of variable template specialization 'is_detected_v<has_dtor, ProtectedDestructor>' requested here
= (is_detected_v<has_dtor,
^
prog.cc:92:45: note: in instantiation of variable template specialization 'is_destructible_v<ProtectedDestructor>' requested here
struct is_destructible : std::bool_constant<is_destructible_v<T>>
^
prog.cc:113:17: note: in instantiation of template class 'is_destructible<ProtectedDestructor>' requested here
static_assert(!is_destructible<T>::value, "");
^
prog.cc:280:2: note: in instantiation of function template specialization 'test_is_not_destructible<ProtectedDestructor>' requested here
test_is_not_destructible<ProtectedDestructor>();
^
prog.cc:177:2: note: declared protected here
~ProtectedDestructor()
^
prog.cc:113:2: error: static_assert failed due to requirement '!is_destructible<ProtectedDestructor>::value' ""
static_assert(!is_destructible<T>::value, "");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
prog.cc:280:2: note: in instantiation of function template specialization 'test_is_not_destructible<ProtectedDestructor>' requested here
test_is_not_destructible<ProtectedDestructor>();
^
prog.cc:83:47: error: '~ProtectedDestructor' is a protected member of 'ProtectedDestructor'
using has_dtor = decltype(std::declval<U&>().~U());
^
prog.cc:26:19: note: in instantiation of template type alias 'has_dtor' requested here
: type_identity<Op<Args...>>
^
prog.cc:45:1: note: in instantiation of template class 'detail::detector<nonesuch, void, has_dtor, const ProtectedDestructor>' requested here
using is_detected =
^
prog.cc:55:32: note: in instantiation of template type alias 'is_detected' requested here
constexpr bool is_detected_v = is_detected<Op, Args...>::value;
^
prog.cc:87:5: note: in instantiation of variable template specialization 'is_detected_v<has_dtor, const ProtectedDestructor>' requested here
= (is_detected_v<has_dtor,
^
prog.cc:92:45: note: in instantiation of variable template specialization 'is_destructible_v<const ProtectedDestructor>' requested here
struct is_destructible : std::bool_constant<is_destructible_v<T>>
^
prog.cc:114:17: note: in instantiation of template class 'is_destructible<const ProtectedDestructor>' requested here
static_assert(!is_destructible<const T>::value, "");
^
prog.cc:280:2: note: in instantiation of function template specialization 'test_is_not_destructible<ProtectedDestructor>' requested here
test_is_not_destructible<ProtectedDestructor>();
^
prog.cc:177:2: note: declared protected here
~ProtectedDestructor()
^
prog.cc:83:47: error: '~ProtectedDestructor' is a protected member of 'ProtectedDestructor'
using has_dtor = decltype(std::declval<U&>().~U());
^
prog.cc:45:1: note: in instantiation of template class 'detail::detector<nonesuch, void, has_dtor, const ProtectedDestructor>' requested here
using is_detected =
^
prog.cc:55:32: note: in instantiation of template type alias 'is_detected' requested here
constexpr bool is_detected_v = is_detected<Op, Args...>::value;
^
prog.cc:87:5: note: in instantiation of variable template specialization 'is_detected_v<has_dtor, const ProtectedDestructor>' requested here
= (is_detected_v<has_dtor,
^
prog.cc:92:45: note: in instantiation of variable template specialization 'is_destructible_v<const ProtectedDestructor>' requested here
struct is_destructible : std::bool_constant<is_destructible_v<T>>
^
prog.cc:114:17: note: in instantiation of template class 'is_destructible<const ProtectedDestructor>' requested here
static_assert(!is_destructible<const T>::value, "");
^
prog.cc:280:2: note: in instantiation of function template specialization 'test_is_not_destructible<ProtectedDestructor>' requested here
test_is_not_destructible<ProtectedDestructor>();
^
prog.cc:177:2: note: declared protected here
~ProtectedDestructor()
^
prog.cc:83:47: error: '~ProtectedDestructor' is a protected member of 'ProtectedDestructor'
using has_dtor = decltype(std::declval<U&>().~U());
^
prog.cc:177:2: note: declared protected here
~ProtectedDestructor()
^
prog.cc:114:2: error: static_assert failed due to requirement '!is_destructible<const ProtectedDestructor>::value' ""
static_assert(!is_destructible<const T>::value, "");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
prog.cc:280:2: note: in instantiation of function template specialization 'test_is_not_destructible<ProtectedDestructor>' requested here
test_is_not_destructible<ProtectedDestructor>();
^
prog.cc:83:47: error: '~ProtectedDestructor' is a protected member of 'ProtectedDestructor'
using has_dtor = decltype(std::declval<U&>().~U());
^
prog.cc:26:19: note: in instantiation of template type alias 'has_dtor' requested here
: type_identity<Op<Args...>>
^
prog.cc:45:1: note: in instantiation of template class 'detail::detector<nonesuch, void, has_dtor, volatile ProtectedDestructor>' requested here
using is_detected =
^
prog.cc:55:32: note: in instantiation of template type alias 'is_detected' requested here
constexpr bool is_detected_v = is_detected<Op, Args...>::value;
^
prog.cc:87:5: note: in instantiation of variable template specialization 'is_detected_v<has_dtor, volatile ProtectedDestructor>' requested here
= (is_detected_v<has_dtor,
^
prog.cc:92:45: note: in instantiation of variable template specialization 'is_destructible_v<volatile ProtectedDestructor>' requested here
struct is_destructible : std::bool_constant<is_destructible_v<T>>
^
prog.cc:115:17: note: in instantiation of template class 'is_destructible<volatile ProtectedDestructor>' requested here
static_assert(!is_destructible<volatile T>::value, "");
^
prog.cc:280:2: note: in instantiation of function template specialization 'test_is_not_destructible<ProtectedDestructor>' requested here
test_is_not_destructible<ProtectedDestructor>();
^
prog.cc:177:2: note: declared protected here
~ProtectedDestructor()
^
prog.cc:83:47: error: '~ProtectedDestructor' is a protected member of 'ProtectedDestructor'
using has_dtor = decltype(std::declval<U&>().~U());
^
prog.cc:45:1: note: in instantiation of template class 'detail::detector<nonesuch, void, has_dtor, volatile ProtectedDestructor>' requested here
using is_detected =
^
prog.cc:55:32: note: in instantiation of template type alias 'is_detected' requested here
constexpr bool is_detected_v = is_detected<Op, Args...>::value;
^
prog.cc:87:5: note: in instantiation of variable template specialization 'is_detected_v<has_dtor, volatile ProtectedDestructor>' requested here
= (is_detected_v<has_dtor,
^
prog.cc:92:45: note: in instantiation of variable template specialization 'is_destructible_v<volatile ProtectedDestructor>' requested here
struct is_destructible : std::bool_constant<is_destructible_v<T>>
^
prog.cc:115:17: note: in instantiation of template class 'is_destructible<volatile ProtectedDestructor>' requested here
static_assert(!is_destructible<volatile T>::value, "");
^
prog.cc:280:2: note: in instantiation of function template specialization 'test_is_not_destructible<ProtectedDestructor>' requested here
test_is_not_destructible<ProtectedDestructor>();
^
prog.cc:177:2: note: declared protected here
~ProtectedDestructor()
^
prog.cc:83:47: error: '~ProtectedDestructor' is a protected member of 'ProtectedDestructor'
using has_dtor = decltype(std::declval<U&>().~U());
^
prog.cc:177:2: note: declared protected here
~ProtectedDestructor()
^
prog.cc:83:47: error: '~ProtectedDestructor' is a protected member of 'ProtectedDestructor'
using has_dtor = decltype(std::declval<U&>().~U());
^
prog.cc:177:2: note: declared protected here
~ProtectedDestructor()
^
prog.cc:115:2: error: static_assert failed due to requirement '!is_destructible<volatile ProtectedDestructor>::value' ""
static_assert(!is_destructible<volatile T>::value, "");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
prog.cc:280:2: note: in instantiation of function template specialization 'test_is_not_destructible<ProtectedDestructor>' requested here
test_is_not_destructible<ProtectedDestructor>();
^
prog.cc:83:47: error: '~ProtectedDestructor' is a protected member of 'ProtectedDestructor'
using has_dtor = decltype(std::declval<U&>().~U());
^
prog.cc:26:19: note: in instantiation of template type alias 'has_dtor' requested here
: type_identity<Op<Args...>>
^
prog.cc:45:1: note: in instantiation of template class 'detail::detector<nonesuch, void, has_dtor, const volatile ProtectedDestructor>' requested here
using is_detected =
^
prog.cc:55:32: note: in instantiation of template type alias 'is_detected' requested here
constexpr bool is_detected_v = is_detected<Op, Args...>::value;
^
prog.cc:87:5: note: in instantiation of variable template specialization 'is_detected_v<has_dtor, const volatile ProtectedDestructor>' requested here
= (is_detected_v<has_dtor,
^
prog.cc:92:45: note: in instantiation of variable template specialization 'is_destructible_v<const volatile ProtectedDestructor>' requested here
struct is_destructible : std::bool_constant<is_destructible_v<T>>
^
prog.cc:116:17: note: in instantiation of template class 'is_destructible<const volatile ProtectedDestructor>' requested here
static_assert(!is_destructible<const volatile T>::value, "");
^
prog.cc:280:2: note: in instantiation of function template specialization 'test_is_not_destructible<ProtectedDestructor>' requested here
test_is_not_destructible<ProtectedDestructor>();
^
prog.cc:177:2: note: declared protected here
~ProtectedDestructor()
^
prog.cc:83:47: error: '~ProtectedDestructor' is a protected member of 'ProtectedDestructor'
using has_dtor = decltype(std::declval<U&>().~U());
^
prog.cc:45:1: note: in instantiation of template class 'detail::detector<nonesuch, void, has_dtor, const volatile ProtectedDestructor>' requested here
using is_detected =
^
prog.cc:55:32: note: in instantiation of template type alias 'is_detected' requested here
constexpr bool is_detected_v = is_detected<Op, Args...>::value;
^
prog.cc:87:5: note: in instantiation of variable template specialization 'is_detected_v<has_dtor, const volatile ProtectedDestructor>' requested here
= (is_detected_v<has_dtor,
^
prog.cc:92:45: note: in instantiation of variable template specialization 'is_destructible_v<const volatile ProtectedDestructor>' requested here
struct is_destructible : std::bool_constant<is_destructible_v<T>>
^
prog.cc:116:17: note: in instantiation of template class 'is_destructible<const volatile ProtectedDestructor>' requested here
static_assert(!is_destructible<const volatile T>::value, "");
^
prog.cc:280:2: note: in instantiation of function template specialization 'test_is_not_destructible<ProtectedDestructor>' requested here
test_is_not_destructible<ProtectedDestructor>();
^
prog.cc:177:2: note: declared protected here
~ProtectedDestructor()
^
prog.cc:83:47: error: '~ProtectedDestructor' is a protected member of 'ProtectedDestructor'
using has_dtor = decltype(std::declval<U&>().~U());
^
prog.cc:177:2: note: declared protected here
~ProtectedDestructor()
^
prog.cc:83:47: error: '~ProtectedDestructor' is a protected member of 'ProtectedDestructor'
using has_dtor = decltype(std::declval<U&>().~U());
^
prog.cc:177:2: note: declared protected here
~ProtectedDestructor()
^
prog.cc:83:47: error: '~ProtectedDestructor' is a protected member of 'ProtectedDestructor'
using has_dtor = decltype(std::declval<U&>().~U());
^
prog.cc:177:2: note: declared protected here
~ProtectedDestructor()
^
prog.cc:116:2: error: static_assert failed due to requirement '!is_destructible<const volatile ProtectedDestructor>::value' ""
static_assert(!is_destructible<const volatile T>::value, "");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
prog.cc:280:2: note: in instantiation of function template specialization 'test_is_not_destructible<ProtectedDestructor>' requested here
test_is_not_destructible<ProtectedDestructor>();
^
prog.cc:117:2: error: static_assert failed due to requirement '!is_destructible_v<ProtectedDestructor>' ""
static_assert(!is_destructible_v<T>, "");
^ ~~~~~~~~~~~~~~~~~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
Exit Code:
1