Created
November 10, 2017 20:16
-
-
Save CapSel/1345b1af1c4b227dfad899f9bf068eb3 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ 44%] Building CXX object test/CMakeFiles/type_safe_test.dir/strong_typedef.cpp.o | |
In file included from /home/capsel/libs/type_safe/test/strong_typedef.cpp:5: | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:343:9: error: no matching function for call to 'get_underlying' | |
TYPE_SAFE_DETAIL_MAKE_OP(==, equality_comparison, bool) | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:234:22: note: expanded from macro 'TYPE_SAFE_DETAIL_MAKE_OP' | |
lhs)) Op detail::get_underlying<StrongTypedef>(detail::forward<Other>(rhs))); \ | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
/home/capsel/libs/type_safe/build/test/catch.hpp:1040:80: note: in instantiation of function template specialization | |
'type_safe::strong_typedef_op::operator==<type, const convert_b &, void>' requested here | |
auto compareEqual( LhsT const& lhs, RhsT const& rhs ) -> bool { return lhs == rhs; }; | |
^ | |
/home/capsel/libs/type_safe/build/test/catch.hpp:1069:51: note: in instantiation of function template specialization | |
'Catch::compareEqual<type, convert_b>' requested here | |
return BinaryExpr<LhsT, RhsT const&>( compareEqual( m_lhs, rhs ), m_lhs, "==", rhs ); | |
^ | |
/home/capsel/libs/type_safe/test/strong_typedef.cpp:55:20: note: in instantiation of function template specialization | |
'Catch::ExprLhs<const type &>::operator==<convert_b>' requested here | |
REQUIRE(t1 == b); | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:166:61: note: candidate function not viable: no known | |
conversion from 'const convert_b' to 'const type' for 1st argument | |
constexpr const underlying_type<StrongTypedef>& get_underlying( | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:173:68: note: candidate function not viable: no known | |
conversion from 'const convert_b' to 'type' for 1st argument | |
TYPE_SAFE_CONSTEXPR14 underlying_type<StrongTypedef>&& get_underlying( | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:350:40: error: invalid operands to binary expression | |
('int' and 'const convert') | |
TYPE_SAFE_DETAIL_MAKE_OP_MIXED(==, mixed_equality_comparison, bool) | |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:269:67: note: expanded from macro | |
'TYPE_SAFE_DETAIL_MAKE_OP_MIXED' | |
return Result(get(static_cast<const StrongTypedef&>(lhs)) Op detail::forward<Other>(rhs)); \ | |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
/home/capsel/libs/type_safe/build/test/catch.hpp:1040:80: note: in instantiation of function template specialization | |
'type_safe::strong_typedef_op::operator==<type, int, const convert &, void>' requested here | |
auto compareEqual( LhsT const& lhs, RhsT const& rhs ) -> bool { return lhs == rhs; }; | |
^ | |
/home/capsel/libs/type_safe/build/test/catch.hpp:1069:51: note: in instantiation of function template specialization | |
'Catch::compareEqual<type, convert>' requested here | |
return BinaryExpr<LhsT, RhsT const&>( compareEqual( m_lhs, rhs ), m_lhs, "==", rhs ); | |
^ | |
/home/capsel/libs/type_safe/test/strong_typedef.cpp:86:20: note: in instantiation of function template specialization | |
'Catch::ExprLhs<const type &>::operator==<convert>' requested here | |
REQUIRE(t1 == a); | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:343:9: note: candidate template ignored: could not match | |
'equality_comparison<type-parameter-0-0>' against 'const int' | |
TYPE_SAFE_DETAIL_MAKE_OP(==, equality_comparison, bool) | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:199:22: note: expanded from macro 'TYPE_SAFE_DETAIL_MAKE_OP' | |
constexpr Result operator Op(const Name<StrongTypedef>& lhs, const Name<StrongTypedef>& rhs) \ | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:343:9: note: candidate template ignored: could not match | |
'equality_comparison<type-parameter-0-0>' against 'const int' | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:207:22: note: expanded from macro 'TYPE_SAFE_DETAIL_MAKE_OP' | |
constexpr Result operator Op(Name<StrongTypedef>&& lhs, const Name<StrongTypedef>& rhs) \ | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:343:9: note: candidate template ignored: could not match | |
'equality_comparison<type-parameter-0-0>' against 'const int' | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:215:22: note: expanded from macro 'TYPE_SAFE_DETAIL_MAKE_OP' | |
constexpr Result operator Op(const Name<StrongTypedef>& lhs, Name<StrongTypedef>&& rhs) \ | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:343:9: note: candidate template ignored: could not match | |
'equality_comparison<type-parameter-0-0>' against 'const int' | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:222:22: note: expanded from macro 'TYPE_SAFE_DETAIL_MAKE_OP' | |
constexpr Result operator Op(Name<StrongTypedef>&& lhs, Name<StrongTypedef>&& rhs) \ | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:343:9: note: candidate template ignored: could not match | |
'equality_comparison<type-parameter-0-0>' against 'const int' | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:231:22: note: expanded from macro 'TYPE_SAFE_DETAIL_MAKE_OP' | |
constexpr Result operator Op(const Name<StrongTypedef>& lhs, Other&& rhs) \ | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:343:9: note: candidate template ignored: could not match | |
'equality_comparison<type-parameter-0-0>' against 'const int' | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:239:22: note: expanded from macro 'TYPE_SAFE_DETAIL_MAKE_OP' | |
constexpr Result operator Op(Name<StrongTypedef>&& lhs, Other&& rhs) \ | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:343:9: note: candidate template ignored: could not match | |
'equality_comparison<type-parameter-0-0>' against 'const convert' | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:247:22: note: expanded from macro 'TYPE_SAFE_DETAIL_MAKE_OP' | |
constexpr Result operator Op(Other&& lhs, const Name<StrongTypedef>& rhs) \ | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:343:9: note: candidate template ignored: could not match | |
'equality_comparison<type-parameter-0-0>' against 'const convert' | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:256:22: note: expanded from macro 'TYPE_SAFE_DETAIL_MAKE_OP' | |
constexpr Result operator Op(Other&& lhs, Name<StrongTypedef>&& rhs) \ | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:350:9: note: candidate template ignored: could not match | |
'mixed_equality_comparison<type-parameter-0-0, type-parameter-0-1>' against 'const int' | |
TYPE_SAFE_DETAIL_MAKE_OP_MIXED(==, mixed_equality_comparison, bool) | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:267:22: note: expanded from macro | |
'TYPE_SAFE_DETAIL_MAKE_OP_MIXED' | |
constexpr Result operator Op(const Name<StrongTypedef, OtherArg>& lhs, Other&& rhs) \ | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:343:9: error: no matching function for call to 'get_underlying' | |
TYPE_SAFE_DETAIL_MAKE_OP(==, equality_comparison, bool) | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:234:22: note: expanded from macro 'TYPE_SAFE_DETAIL_MAKE_OP' | |
lhs)) Op detail::get_underlying<StrongTypedef>(detail::forward<Other>(rhs))); \ | |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
/home/capsel/libs/type_safe/build/test/catch.hpp:1040:80: note: in instantiation of function template specialization | |
'type_safe::strong_typedef_op::operator==<type, const convert_b &, void>' requested here | |
auto compareEqual( LhsT const& lhs, RhsT const& rhs ) -> bool { return lhs == rhs; }; | |
^ | |
/home/capsel/libs/type_safe/build/test/catch.hpp:1069:51: note: in instantiation of function template specialization | |
'Catch::compareEqual<type, convert_b>' requested here | |
return BinaryExpr<LhsT, RhsT const&>( compareEqual( m_lhs, rhs ), m_lhs, "==", rhs ); | |
^ | |
/home/capsel/libs/type_safe/test/strong_typedef.cpp:132:20: note: in instantiation of function template specialization | |
'Catch::ExprLhs<const type &>::operator==<convert_b>' requested here | |
REQUIRE(t1 == b); | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:166:61: note: candidate function not viable: no known | |
conversion from 'const convert_b' to 'const type' for 1st argument | |
constexpr const underlying_type<StrongTypedef>& get_underlying( | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:173:68: note: candidate function not viable: no known | |
conversion from 'const convert_b' to 'type' for 1st argument | |
TYPE_SAFE_CONSTEXPR14 underlying_type<StrongTypedef>&& get_underlying( | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:350:40: error: invalid operands to binary expression | |
('int' and 'const convert_c') | |
TYPE_SAFE_DETAIL_MAKE_OP_MIXED(==, mixed_equality_comparison, bool) | |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:269:67: note: expanded from macro | |
'TYPE_SAFE_DETAIL_MAKE_OP_MIXED' | |
return Result(get(static_cast<const StrongTypedef&>(lhs)) Op detail::forward<Other>(rhs)); \ | |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
/home/capsel/libs/type_safe/build/test/catch.hpp:1040:80: note: in instantiation of function template specialization | |
'type_safe::strong_typedef_op::operator==<type, int, const convert_c &, void>' requested here | |
auto compareEqual( LhsT const& lhs, RhsT const& rhs ) -> bool { return lhs == rhs; }; | |
^ | |
/home/capsel/libs/type_safe/build/test/catch.hpp:1069:51: note: in instantiation of function template specialization | |
'Catch::compareEqual<type, convert_c>' requested here | |
return BinaryExpr<LhsT, RhsT const&>( compareEqual( m_lhs, rhs ), m_lhs, "==", rhs ); | |
^ | |
/home/capsel/libs/type_safe/test/strong_typedef.cpp:153:20: note: in instantiation of function template specialization | |
'Catch::ExprLhs<const type &>::operator==<convert_c>' requested here | |
REQUIRE(t1 == c); | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:343:9: note: candidate template ignored: could not match | |
'equality_comparison<type-parameter-0-0>' against 'const int' | |
TYPE_SAFE_DETAIL_MAKE_OP(==, equality_comparison, bool) | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:199:22: note: expanded from macro 'TYPE_SAFE_DETAIL_MAKE_OP' | |
constexpr Result operator Op(const Name<StrongTypedef>& lhs, const Name<StrongTypedef>& rhs) \ | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:343:9: note: candidate template ignored: could not match | |
'equality_comparison<type-parameter-0-0>' against 'const int' | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:207:22: note: expanded from macro 'TYPE_SAFE_DETAIL_MAKE_OP' | |
constexpr Result operator Op(Name<StrongTypedef>&& lhs, const Name<StrongTypedef>& rhs) \ | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:343:9: note: candidate template ignored: could not match | |
'equality_comparison<type-parameter-0-0>' against 'const int' | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:215:22: note: expanded from macro 'TYPE_SAFE_DETAIL_MAKE_OP' | |
constexpr Result operator Op(const Name<StrongTypedef>& lhs, Name<StrongTypedef>&& rhs) \ | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:343:9: note: candidate template ignored: could not match | |
'equality_comparison<type-parameter-0-0>' against 'const int' | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:222:22: note: expanded from macro 'TYPE_SAFE_DETAIL_MAKE_OP' | |
constexpr Result operator Op(Name<StrongTypedef>&& lhs, Name<StrongTypedef>&& rhs) \ | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:343:9: note: candidate template ignored: could not match | |
'equality_comparison<type-parameter-0-0>' against 'const int' | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:231:22: note: expanded from macro 'TYPE_SAFE_DETAIL_MAKE_OP' | |
constexpr Result operator Op(const Name<StrongTypedef>& lhs, Other&& rhs) \ | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:343:9: note: candidate template ignored: could not match | |
'equality_comparison<type-parameter-0-0>' against 'const int' | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:239:22: note: expanded from macro 'TYPE_SAFE_DETAIL_MAKE_OP' | |
constexpr Result operator Op(Name<StrongTypedef>&& lhs, Other&& rhs) \ | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:343:9: note: candidate template ignored: could not match | |
'equality_comparison<type-parameter-0-0>' against 'const convert_c' | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:247:22: note: expanded from macro 'TYPE_SAFE_DETAIL_MAKE_OP' | |
constexpr Result operator Op(Other&& lhs, const Name<StrongTypedef>& rhs) \ | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:343:9: note: candidate template ignored: could not match | |
'equality_comparison<type-parameter-0-0>' against 'const convert_c' | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:256:22: note: expanded from macro 'TYPE_SAFE_DETAIL_MAKE_OP' | |
constexpr Result operator Op(Other&& lhs, Name<StrongTypedef>&& rhs) \ | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:350:9: note: candidate template ignored: could not match | |
'mixed_equality_comparison<type-parameter-0-0, type-parameter-0-1>' against 'const int' | |
TYPE_SAFE_DETAIL_MAKE_OP_MIXED(==, mixed_equality_comparison, bool) | |
^ | |
/home/capsel/libs/type_safe/include/type_safe/strong_typedef.hpp:267:22: note: expanded from macro | |
'TYPE_SAFE_DETAIL_MAKE_OP_MIXED' | |
constexpr Result operator Op(const Name<StrongTypedef, OtherArg>& lhs, Other&& rhs) \ | |
^ | |
4 errors generated. | |
make[2]: *** [test/CMakeFiles/type_safe_test.dir/build.make:519: test/CMakeFiles/type_safe_test.dir/strong_typedef.cpp.o] Error 1 | |
make[1]: *** [CMakeFiles/Makefile2:347: test/CMakeFiles/type_safe_test.dir/all] Error 2 | |
make: *** [Makefile:141: all] Error 2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment