In file included from /usr/include/c++/12/bits/stl_algobase.h:71,
from /usr/include/c++/12/string:50,
from /usr/include/c++/12/bits/locale_classes.h:40,
from /usr/include/c++/12/bits/ios_base.h:41,
from /usr/include/c++/12/ios:42,
from /usr/include/c++/12/ostream:38,
from /usr/include/c++/12/iostream:39,
from /in/foo.cc:1:
/usr/include/c++/12/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Iter_less_iter::operator()(_Iterator1, _Iterator2) const [with _Iterator1 = node*; _Iterator2 = node*]':
/usr/include/c++/12/bits/stl_algo.h:1809:14: required from 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = node*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/usr/include/c++/12/bits/stl_algo.h:1849:25: required from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = node*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/usr/include/c++/12/bits/stl_algo.h:1940:31: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = node*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/usr/include/c++/12/bits/stl_algo.h:4820:18: required from 'void std::sort(_RAIter, _RAIter) [with _RAIter = node*]'
/in/foo.cc:26:6: required from here
/usr/include/c++/12/bits/predefined_ops.h:45:23: error: no match for 'operator<' (operand types are 'node' and 'node')
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
In file included from /usr/include/c++/12/string:47:
/usr/include/c++/12/bits/stl_iterator.h:1246:5: note: candidate: 'template<class _IteratorL, class _IteratorR, class _Container> bool __gnu_cxx::operator<(const __normal_iterator<_IteratorL, _Container>&, const __normal_iterator<_IteratorR, _Container>&)'
1246 | operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
| ^~~~~~~~
/usr/include/c++/12/bits/stl_iterator.h:1246:5: note: template argument deduction/substitution failed:
/usr/include/c++/12/bits/predefined_ops.h:45:23: note: 'node' is not derived from 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
/usr/include/c++/12/bits/stl_iterator.h:1254:5: note: candidate: 'template<class _Iterator, class _Container> bool __gnu_cxx::operator<(const __normal_iterator<_Iterator, _Container>&, const __normal_iterator<_Iterator, _Container>&)'
1254 | operator<(const __normal_iterator<_Iterator, _Container>& __lhs,
| ^~~~~~~~
/usr/include/c++/12/bits/stl_iterator.h:1254:5: note: template argument deduction/substitution failed:
/usr/include/c++/12/bits/predefined_ops.h:45:23: note: 'node' is not derived from 'const __gnu_cxx::__normal_iterator<_Iterator, _Container>'
45 | { return *__it1 < *__it2; }
| ~~~~~~~^~~~~~~~
/usr/include/c++/12/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Val_less_iter::operator()(_Value&, _Iterator) const [with _Value = node; _Iterator = node*]':
/usr/include/c++/12/bits/stl_algo.h:1789:20: required from 'void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = node*; _Compare = __gnu_cxx::__ops::_Val_less_iter]'
/usr/include/c++/12/bits/stl_algo.h:1817:36: required from 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = node*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/usr/include/c++/12/bits/stl_algo.h:1849:25: required from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = node*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/usr/include/c++/12/bits/stl_algo.h:1940:31: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = node*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/usr/include/c++/12/bits/stl_algo.h:4820:18: required from 'void std::sort(_RAIter, _RAIter) [with _RAIter = node*]'
/in/foo.cc:26:6: required from here
/usr/include/c++/12/bits/predefined_ops.h:98:22: error: no match for 'operator<' (operand types are 'node' and 'node')
98 | { return __val < *__it; }
| ~~~~~~^~~~~~~
/usr/include/c++/12/bits/stl_iterator.h:1246:5: note: candidate: 'template<class _IteratorL, class _IteratorR, class _Container> bool __gnu_cxx::operator<(const __normal_iterator<_IteratorL, _Container>&, const __normal_iterator<_IteratorR, _Container>&)'
1246 | operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
| ^~~~~~~~
/usr/include/c++/12/bits/stl_iterator.h:1246:5: note: template argument deduction/substitution failed:
/usr/include/c++/12/bits/predefined_ops.h:98:22: note: 'node' is not derived from 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>'
98 | { return __val < *__it; }
| ~~~~~~^~~~~~~
/usr/include/c++/12/bits/stl_iterator.h:1254:5: note: candidate: 'template<class _Iterator, class _Container> bool __gnu_cxx::operator<(const __normal_iterator<_Iterator, _Container>&, const __normal_iterator<_Iterator, _Container>&)'
1254 | operator<(const __normal_iterator<_Iterator, _Container>& __lhs,
| ^~~~~~~~
/usr/include/c++/12/bits/stl_iterator.h:1254:5: note: template argument deduction/substitution failed:
/usr/include/c++/12/bits/predefined_ops.h:98:22: note: 'node' is not derived from 'const __gnu_cxx::__normal_iterator<_Iterator, _Container>'
98 | { return __val < *__it; }
| ~~~~~~^~~~~~~
/usr/include/c++/12/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Iter_less_val::operator()(_Iterator, _Value&) const [with _Iterator = node*; _Value = node]':
/usr/include/c++/12/bits/stl_heap.h:140:48: required from 'void std::__push_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare&) [with _RandomAccessIterator = node*; _Distance = long int; _Tp = node; _Compare = __gnu_cxx::__ops::_Iter_less_val]'
/usr/include/c++/12/bits/stl_heap.h:247:23: required from 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = node*; _Distance = long int; _Tp = node; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/usr/include/c++/12/bits/stl_heap.h:356:22: required from 'void std::__make_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = node*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/usr/include/c++/12/bits/stl_algo.h:1629:23: required from 'void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = node*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/usr/include/c++/12/bits/stl_algo.h:1900:25: required from 'void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = node*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/usr/include/c++/12/bits/stl_algo.h:1916:27: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = node*; _Size = long int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/usr/include/c++/12/bits/stl_algo.h:1937:25: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = node*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]'
/usr/include/c++/12/bits/stl_algo.h:4820:18: required from 'void std::sort(_RAIter, _RAIter) [with _RAIter = node*]'
/in/foo.cc:26:6: required from here
/usr/include/c++/12/bits/predefined_ops.h:69:22: error: no match for 'operator<' (operand types are 'node' and 'node')
69 | { return *__it < __val; }
| ~~~~~~^~~~~~~
/usr/include/c++/12/bits/stl_iterator.h:1246:5: note: candidate: 'template<class _Ite