0_0_38797104_16634.cpp: In member function 'auto point::operator<=>(const point&) const':
0_0_38797104_16634.cpp:21:72: error: no match for 'operator&&' (operand types are 'bool' and 'std::strong_ordering')
21 | auto operator<=>(const point &o) const { return y<=>o.y || (y==o.y && x<=>o.x); }
| ~~~~~~ ^~ ~~~~~~~
| | |
| bool std::strong_ordering
0_0_38797104_16634.cpp:21:72: note: candidate: 'operator&&(bool, bool)' (built-in)
21 | auto operator<=>(const point &o) const { return y<=>o.y || (y==o.y && x<=>o.x); }
| ~~~~~~~^~~~~~~~~~
0_0_38797104_16634.cpp:21:72: note: no known conversion for argument 2 from 'std::strong_ordering' to 'bool'
In file included from gcc-13.1.0/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/valarray:605,
from .\stdc++.h:166:
gcc-13.1.0/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/valarray_after.h:415:5: note: candidate: 'template<class _Dom1, class _Dom2> std::_Expr<std::__detail::_BinClos<std::__logical_and, std::_Expr, std::_Expr, _Dom1, _Dom2>, typename std::__fun<std::__logical_and, typename _Dom1::value_type>::result_type> std::operator&&(const _Expr<_Dom1, typename _Dom1::value_type>&, const _Expr<_Dom2, typename _Dom2::value_type>&)'
415 | _DEFINE_EXPR_BINARY_OPERATOR(&&, struct std::__logical_and)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc-13.1.0/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/valarray_after.h:415:5: note: template argument deduction/substitution failed:
0_0_38797104_16634.cpp:21:81: note: mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and 'bool'
21 | auto operator<=>(const point &o) const { return y<=>o.y || (y==o.y && x<=>o.x); }
| ^
gcc-13.1.0/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/valarray_after.h:415:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__logical_and, std::_Expr, std::_Constant, _Dom, typename _Dom::value_type>, typename std::__fun<std::__logical_and, typename _Dom1::value_type>::result_type> std::operator&&(const _Expr<_Dom1, typename _Dom1::value_type>&, const typename _Dom::value_type&)'
415 | _DEFINE_EXPR_BINARY_OPERATOR(&&, struct std::__logical_and)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc-13.1.0/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/valarray_after.h:415:5: note: template argument deduction/substitution failed:
0_0_38797104_16634.cpp:21:81: note: mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and 'bool'
21 | auto operator<=>(const point &o) const { return y<=>o.y || (y==o.y && x<=>o.x); }
| ^
gcc-13.1.0/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/valarray_after.h:415:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__logical_and, std::_Constant, std::_Expr, typename _Dom::value_type, _Dom>, typename std::__fun<std::__logical_and, typename _Dom1::value_type>::result_type> std::operator&&(const typename _Dom::value_type&, const _Expr<_Dom1, typename _Dom1::value_type>&)'
415 | _DEFINE_EXPR_BINARY_OPERATOR(&&, struct std::__logical_and)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc-13.1.0/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/valarray_after.h:415:5: note: template argument deduction/substitution failed:
0_0_38797104_16634.cpp:21:81: note: 'std::strong_ordering' is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>'
21 | auto operator<=>(const point &o) const { return y<=>o.y || (y==o.y && x<=>o.x); }
| ^
gcc-13.1.0/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/valarray_after.h:415:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__logical_and, std::_Expr, std::_ValArray, _Dom, typename _Dom::value_type>, typename std::__fun<std::__logical_and, typename _Dom1::value_type>::result_type> std::operator&&(const _Expr<_Dom1, typename _Dom1::value_type>&, const valarray<typename _Dom::value_type>&)'
415 | _DEFINE_EXPR_BINARY_OPERATOR(&&, struct std::__logical_and)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc-13.1.0/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/valarray_after.h:415:5: note: template argument deduction/substitution failed:
0_0_38797104_16634.cpp:21:81: note: mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and 'bool'
21 | auto operator<=>(const point &o) const { return y<=>o.y || (y==o.y && x<=>o.x); }
| ^
gcc-13.1.0/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/valarray_after.h:415:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__logical_and, std::_ValArray, std::_Expr, typename _Dom::value_type, _Dom>, typename std::__fun<std::__logical_and, typename _Dom1::value_type>::result_type> std::operator&&(const valarray<typename _Dom::value_type>&, const _Expr<_Dom1, typename _Dom1::value_type>&)'
415 | _DEFINE_EXPR_BINARY_OPERATOR(&&, struct std::__logical_and)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc-13.1.0/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/valarray_after.h:415:5: note: template argument deduction/substitution failed:
0_0_38797104_16634.cpp:21:81: note: 'std::strong_ordering' is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>'
21 | auto operator<=>(const point &o) const { return y<=>o.y || (y==o.y && x<=>o.x); }
| ^
gcc-13.1.0/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/valarray:1199:1: note: candidate: 'template<class _Tp> std::_Expr<std::__detail::_BinClos<std::__logical_and, std::_ValArray, std::_ValArray, _Tp, _Tp>, typename std::__fun<std::__logical_and, _Tp>::result_type> std::operator&&(const valarray<_Tp>&, const valarray<_Tp>&)'
1199 | _DEFINE_BINARY_OPERATOR(&&, __logical_and)
| ^~~~~~~~~~~~~~~~~~~~~~~
gcc-13.1.0/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/valarray:1199:1: note: template argument deduction/substitution failed:
0_0_38797104_16634.cpp:21:81: note: mismatched types 'const std::valarray<_Tp>' and 'bool'
21 | auto operator<=>(const point &o) const { return y<=>o.y || (y==o.y && x<=>o.x); }
| ^
gcc-13.1.0/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/valarray:1199:1: note: candidate: 'template<class _Tp> std::_Expr<std::__detail::_BinClos<std::__logical_and, std::_ValArray, std::_Constant, _Tp, _Tp>, typename std::__fun<std::__logical_and, _Tp>::result_type> std::operator&&(const valarray<_Tp>&, const typename valarray<_Tp>::value_type&)'
1199 | _DEFINE_BINARY_OPERATOR(&&, __logical_and)
| ^~~~~~~~~~~~~~~~~~~~~~~
gcc-13.1.0/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/valarray:1199:1: note: template argument deduction/substitution failed:
0_0_38797104_16634.cpp:21:81: note: mismatched types 'const std::valarray<_Tp>' and 'bool'
21 | auto operator<=>(const point &o) const { return y<=>o.y || (y==o.y && x<=>o.x); }
| ^
gcc-13.1.0/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/valarray:1199:1: note: candidate: 'template<class _Tp> std::_Expr<std::__detail::_BinClos<std::__logical_and, std::_Constant, std::_ValArray, _Tp, _Tp>, typename std::__fun<std::__logical_and, _Tp>::result_type> std::operator&&(const typename valarray<_Tp>::value_type&, const valarray<_Tp>&)'
1199 | _DEFINE_BINARY_OPERATOR(&&, __logical_and)
| ^~~~~~~~~~~~~~~~~~~~~~~
gcc-13.1.0/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/valarray:1199:1: note: template argument deduction/substitution failed:
0_0_38797104_16634.cpp:21:81: note: 'std::strong_ordering' is not derived from 'const std::valarray<_Tp>'
21 | auto operator<=>(const point &o) const { return y<=>o.y || (y==o.y && x<=>o.x); }
| ^
|