Mock Version: 2.15 Mock Version: 2.15 Mock Version: 2.15 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target riscv64 --nodeps /builddir/build/SPECS/kakoune.spec'], chrootPath='/var/lib/mock/f38-build-700631-88144/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=604800uid=991gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target riscv64 --nodeps /builddir/build/SPECS/kakoune.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: riscv64 Building for target riscv64 setting SOURCE_DATE_EPOCH=1678147200 Wrote: /builddir/build/SRPMS/kakoune-2022.10.31-4.fc38.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target riscv64 --nodeps /builddir/build/SPECS/kakoune.spec'], chrootPath='/var/lib/mock/f38-build-700631-88144/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=604800uid=991gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target riscv64 --nodeps /builddir/build/SPECS/kakoune.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: riscv64 Building for target riscv64 setting SOURCE_DATE_EPOCH=1678147200 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.hTTEvW + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf kakoune-2022.10.31 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/kakoune-2022.10.31.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd kakoune-2022.10.31 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/Fix-New-gcc-errors-for-missing-types.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + sed -i '/CXXFLAGS += -O3/d' src/Makefile + sed -i 's|$(PREFIX)/share/doc/kak|$(PREFIX)/share/doc/kakoune|' src/Makefile + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.bkQkL4 + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd kakoune-2022.10.31 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + /usr/bin/make -O -j4 V=1 VERBOSE=1 -C src make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .backtrace.opt.d -c -o .backtrace.opt.o backtrace.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .alias_registry.opt.d -c -o .alias_registry.opt.o alias_registry.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .assert.opt.d -c -o .assert.opt.o assert.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' In file included from buffer.hh:310, from buffer_utils.hh:4, from assert.cc:4: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from buffer.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from buffer_utils.hh:5: selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_bow(const Buffer&, BufferCoord)': buffer_utils.hh:54:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | if (coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_eow(const Buffer&, BufferCoord)': buffer_utils.hh:62:57: warning: C++20 says that these are ambiguous, even though the second is reversed: 62 | if (buffer.is_end(coord) or coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .buffer_manager.opt.d -c -o .buffer_manager.opt.o buffer_manager.cc In file included from buffer.hh:310, from buffer_manager.hh:4, from buffer_manager.cc:1: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from buffer.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from context.hh:4, from input_handler.hh:6, from client.hh:7, from client_manager.hh:4, from buffer_manager.cc:5: selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max()make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .changes.opt.d -c -o .changes.opt.o changes.cc In file included from buffer.hh:310, from changes.hh:4, from changes.cc:1: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from buffer.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from units.hh:4, from coord.hh:4: changes.cc: In member function 'void Kakoune::ForwardChangesTracker::update(const Kakoune::Buffer::Change&)': changes.cc:7:32: warning: C++20 says that these are ambiguous, even though the second is reversed: 7 | kak_assert(change.begin >= cur_pos); | ^~~~~~~ assert.hh:33:47: note: in definition of macro 'kak_assert' 33 | #define kak_assert(...) do { (void)sizeof(__VA_ARGS__); } while(false) | ^~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) changes.cc: In member function 'Kakoune::BufferCoord Kakoune::ForwardChangesTracker::get_old_coord(Kakoune::BufferCoord) const': changes.cc:30:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 30 | kak_assert(cur_pos <= coord); | ^~~~~ assert.hh:33:47: note: in definition of macro 'kak_assert' 33 | #define kak_assert(...) do { (void)sizeof(__VA_ARGS__); } while(false) | ^~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) changes.cc:38:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 38 | kak_assert(old_pos <= coord); | ^~~~~ assert.hh:33:47: note: in definition of macro 'kak_assert' 33 | #define kak_assert(...) do { (void)sizeof(__VA_ARGS__); } while(false) | ^~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; Cmake: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' olumnType = Kakoune::ByteCount]' (reversed) changes.cc: In member function 'Kakoune::BufferCoord Kakoune::ForwardChangesTracker::get_new_coord(Kakoune::BufferCoord) const': changes.cc:44:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 44 | kak_assert(old_pos <= coord); | ^~~~~ assert.hh:33:47: note: in definition of macro 'kak_assert' 33 | #define kak_assert(...) do { (void)sizeof(__VA_ARGS__); } while(false) | ^~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) changes.cc:52:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 52 | kak_assert(cur_pos <= coord); | ^~~~~ assert.hh:33:47: note: in definition of macro 'kak_assert' 33 | #define kak_assert(...) do { (void)sizeof(__VA_ARGS__); } while(false) | ^~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) changes.cc: In member function 'Kakoune::BufferCoord Kakoune::ForwardChangesTracker::get_new_coord_tolerant(Kakoune::BufferCoord) const': changes.cc:58:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 58 | if (coord < old_pos) | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) changes.cc: In member function 'bool Kakoune::ForwardChangesTracker::relevant(const Kakoune::Buffer::Change&, Kakoune::BufferCoord) const': changes.cc:66:68: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return change.type == Buffer::Change::Insert ? change.begin <= new_coord | ^~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) changes.cc:67:67: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : change.begin < new_coord; | ^~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) changes.cc: In function 'const Kakoune::Buffer::Change* Kakoune::forward_sorted_until(const Buffer::Change*, const Buffer::Change*)': changes.cc:76:32: warning: C++20 says that these are ambiguous, even though the second is reversed: 76 | if (next->begin <= ref) | ^~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) changes.cc: In function 'const Kakoune::Buffer::Change* Kakoune::backward_sorted_until(const Buffer::Change*, const Buffer::Change*)': changes.cc:89:38: warning: C++20 says that these are ambiguous, even though the second is reversed: 89 | if (first->begin < next->end) | ^~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .buffer_utils.opt.d -c -o .buffer_utils.opt.o buffer_utils.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' In file included from buffer.hh:310, from buffer_utils.hh:4, from buffer_utils.cc:1: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from buffer.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from buffer_utils.hh:5: selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_bow(const Buffer&, BufferCoord)': buffer_utils.hh:54:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | if (coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_eow(const Buffer&, BufferCoord)': buffer_utils.hh:62:57: warning: C++20 says that these are ambiguous, even though the second is reversed: 62 | if (buffer.is_end(coord) or coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.cc: In member function 'void Kakoune::create_fifo_buffer(String, int, Buffer::Flags, bool)::FifoWatcher::read_fifo() const': buffer_utils.cc:236:74: warning: C++20 says that these are ambiguous, even though the second is reversed: 236 | const bool prevent_scrolling = pos == BufferCoord{0,0} and not m_scroll; | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.cc:254:53: warning: C++20 says that these are ambiguous, even though the second is reversed: 254 | if (insert_coord != m_buffer.back_coord()) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .color.opt.d -c -o .color.opt.o color.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .buffer.opt.d -c -o .buffer.opt.o buffer.cc In file included from buffer.hh:310, from buffer.cc:1: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from buffer.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from buffer_utils.hh:5, from buffer.cc:5: selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operatmake: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' or<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_bow(const Buffer&, BufferCoord)': buffer_utils.hh:54:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | if (coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_eow(const Buffer&, BufferCoord)': buffer_utils.hh:62:57: warning: C++20 says that these are ambiguous, even though the second is reversed: 62 | if (buffer.is_end(coord) or coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.cc: In member function 'Kakoune::BufferCoord Kakoune::Buffer::clamp(Kakoune::BufferCoord) const': buffer.cc:150:28: warning: C++20 says that these are ambiguous, even though the second is reversed: 150 | if (coord > back_coord()) | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.cc: In member function 'Kakoune::BufferCoord Kakoune::Buffer::do_erase(Kakoune::BufferCoord, Kakoune::BufferCoord)': buffer.cc:446:18: warning: C++20 says that these are ambiguous, even though the second is reversed: 446 | if (begin == end) | ^~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.cc: In member function 'Kakoune::BufferCoord Kakoune::Buffer::erase(Kakoune::BufferCoord, Kakoune::BufferCoord)': buffer.cc:514:61: warning: C++20 says that these are ambiguous, even though the second is reversed: 514 | end = (begin.column != 0 or begin == BufferCoord{0,0}) ? prev(end) : end_coord(); | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.cc:516:18: warning: C++20 says that these are ambiguous, even though the second is reversed: 516 | if (begin >= end) // use >= to handle case where begin is {line_count} | ^~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from units.hh:4, from coord.hh:4: buffer.cc: In lambda function: buffer.cc:689:47: warning: C++20 says that these are ambiguous, even though the second is reversed: 689 | kak_assert(pos.coord() == BufferCoord{0, 6}); | ^ assert.hh:33:47: note: in definition of macro 'kak_assert' 33 | #define kak_assert(...) do { (void)sizeof(__VA_ARGS__); } while(false) | ^~~~~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.cc:691:47: warning: C++20 says that these are ambiguous, even though the second is reversed: 691 | kak_assert(pos.coord() == BufferCoord{1, 0}); | ^ assert.hh:33:47: note: in definition of macro 'kak_assert' 33 | #define kak_assert(...) do { (void)sizeof(__VA_ARGS__); } while(false) | ^~~~~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.cc:693:47: warning: C++20 says that these are ambiguous, even though the second is reversed: 693 | kak_assert(pos.coord() == BufferCoord{0, 6}); | ^ assert.hh:33:47: note: in definition of macro 'kak_assert' 33 | #define kak_assert(...) do { (void)sizeof(__VA_ARGS__); } while(false) | ^~~~~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.cc:695:47: warning: C++20 says that these are ambiguous, even though the second is reversed: 695 | kak_assert(pos.coord() == BufferCoord{1, 0}); | ^ assert.hh:33:47: note: in definition of macro 'kak_assert' 33 | #define kak_assert(...) do { (void)sizeof(__VA_ARGS__); } while(false) | ^~~~~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .client_manager.opt.d -c -o .client_manager.opt.o client_manager.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' In file included from buffer.hh:310, from selection.hh:4, from context.hh:4, from input_handler.hh:6, from client.hh:7, from client_manager.hh:4, from client_manager.cc:1: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from display_buffer.hh:6, from client.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .client.opt.d -c -o .client.opt.o client.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' In file included from buffer.hh:310, from selection.hh:4, from context.hh:4, from input_handler.hh:6, from client.hh:7, from client.cc:1: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from display_buffer.hh:6, from client.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from client.cc:6: buffer_utils.hh: In function 'bool Kakoune::is_bow(const Buffer&, BufferCoord)': buffer_utils.hh:54:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | if (coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_eow(const Buffer&, BufferCoord)': buffer_utils.hh:62:57: warning: C++20 says that these are ambiguous, even though the second is reversed: 62 | if (buffer.is_end(coord) or coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from utf8.hh:7, from string.hh:7, from exception.hh:4, from color.hh:4, from face.hh:4, from display_buffer.hh:4: optional.hh: In instantiation of 'bool Kakoune::Optional::operator==(const Kakoune::Optional&) const [with T = Kakoune::DisplayCoord]': optional.hh:60:67: required from 'bool Kakoune::Optional::operator!=(const Kakoune::Optional&) const [with T = Kakoune::DisplayCoord]' client.cc:233:67: required from here optional.hh:57:40: warning: C++20 says that these are ambiguous, even though the second is reversed: 57 | (not m_valid or m_value == other.m_value); | ~~~~~~~~^~~~~~~~~~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::DisplayCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ColumnCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::DisplayCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ColumnCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .completion.opt.d -c -o .completion.opt.o completion.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' In file included from buffer.hh:310, from selection.hh:4, from context.hh:4, from completion.cc:3: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from buffer.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .context.opt.d -c -o .context.opt.o context.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' In file included from buffer.hh:310, from selection.hh:4, from context.hh:4, from context.cc:1: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from buffer.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .env_vars.opt.d -c -o .env_vars.opt.o env_vars.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .command_manager.opt.d -c -o .command_manager.opt.o command_manager.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' In file included from buffer.hh:310, from buffer_utils.hh:4, from command_manager.cc:5: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from command_manager.hh:4, from command_manager.cc:1: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from buffer_utils.hh:5: selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_bow(const Buffer&, BufferCoord)': buffer_utils.hh:54:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | if (coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_eow(const Buffer&, BufferCoord)': buffer_utils.hh:62:57: warning: C++20 says that these are ambiguous, even though the second is reversed: 62 | if (buffer.is_end(coord) or coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .exception.opt.d -c -o .exception.opt.o exception.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .display_buffer.opt.d -c -o .display_buffer.opt.o display_buffer.cc In file included from buffer.hh:310, from display_buffer.cc:4: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from display_buffer.hh:6, from display_buffer.cc:1: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from buffer_utils.hh:5, from display_buffer.cc:5: selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_bow(const Buffer&, BufferCoord)': buffer_utils.hh:54:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | if (coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_eow(const Buffer&, BufferCoord)': buffer_utils.hh:62:57: warning: C++20 says that these are ambiguous, even though the second is reversed: 62 | if (buffer.is_end(coord) or coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from memory.hh:8, from string.hh:4, from exception.hh:4, from color.hh:4, from face.hh:4, from display_buffer.hh:4: display_buffer.cc: In member function 'Kakoune::DisplayLine::iterator Kakoune::DisplayLine::split(iterator, Kakoune::BufferCoord)': display_buffer.cc:87:30: warning: C++20 says that these are ambiguous, even though the second is reversed: 87 | kak_assert(it->begin() < pos); | ^~~ assert.hh:33:47: note: in definition of macro 'kak_assert' 33 | #define kak_assert(...) do { (void)sizeof(__VA_ARGS__); } while(false) | ^~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) display_buffer.cc:88:28: warning: C++20 says that these are ambiguous, even though the second is reversed: 88 | kak_assert(it->end() > pos); | ^~~ assert.hh:33:47: note: in definition of macro 'kak_assert' 33 | #define kak_assert(...) do { (void)sizeof(__VA_ARGS__); } while(false) | ^~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) display_buffer.cc: In member function 'Kakoune::DisplayLine::iterator Kakoune::DisplayLine::split(iterator, Kakoune::ColumnCount)': display_buffer.cc:111:26: warning: C++20 says that these are ambiguous, even though the second is reversed: 111 | if (pos == it->begin()) // Can happen if we try to split in the middle of a multi-column codepoint | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) display_buffer.cc:113:24: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | if (pos == it->end()) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) display_buffer.cc: In lambda function: display_buffer.cc:121:54: warning: C++20 says that these are ambiguous, even though the second is reversed: 121 | return (a.has_buffer_range() && a.begin() >= pos) || | ^~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) display_buffer.cc:122:62: warning: C++20 says that these are ambiguous, even though the second is reversed: 122 | (a.type() == DisplayAtom::Range and a.end() > pos); | ^~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) display_buffer.cc: In member function 'Kakoune::DisplayLine::iterator Kakoune::DisplayLine::split(Kakoune::BufferCoord)': display_buffer.cc:124:39: warning: C++20 says that these are ambiguous, even though the second is reversed: 124 | if (it == end() or it->begin() >= pos) | ^~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) display_buffer.cc: In member function 'void Kakoune::DisplayLine::optimize()': display_buffer.cc:177:47: warning: C++20 says that these are ambiguous, even though the second is reversed: 177 | next.begin() == atom.end()) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) display_buffer.cc: In member function 'void Kakoune::DisplayLine::compute_range()': display_buffer.cc:265:41: warning: C++20 says that these are ambiguous, even though the second is reversed: 265 | kak_assert(m_range.begin <= m_range.end); | ^~~ assert.hh:33:47: note: in definition of macro 'kak_assert' 33 | #define kak_assert(...) do { (void)sizeof(__VA_ARGS__); } while(false) | ^~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) display_buffer.cc: In member function 'void Kakoune::DisplayBuffer::compute_range()': display_buffer.cc:278:41: warning: C++20 says that these are ambiguous, even though the second is reversed: 278 | kak_assert(m_range.begin <= m_range.end); | ^~~ assert.hh:33:47: note: in definition of macro 'kak_assert' 33 | #define kak_assert(...) do { (void)sizeof(__VA_ARGS__); } while(false) | ^~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from display_buffer.hh:7: range.hh: In instantiation of 'bool Kakoune::operator==(const Range&, const Range&)': display_buffer.cc:263:20: required from here range.hh:15:26: warning: C++20 says that these are ambiguous, even though the second is reversed: 15 | return lhs.begin == rhs.begin and lhs.end == rhs.end; | ~~~~~~~~~~^~~~~~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) range.hh:15:51: warning: C++20 says that these are ambiguous, even though the second is reversed: 15 | return lhs.begin == rhs.begin and lhs.end == rhs.end; | ~~~~~~~~^~~~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .event_manager.opt.d -c -o .event_manager.opt.o event_manager.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .hash.opt.d -c -o .hash.opt.o hash.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .face_registry.opt.d -c -o .face_registry.opt.o face_registry.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .highlighter.opt.d -c -o .highlighter.opt.o highlighter.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' In file included from buffer.hh:310, from buffer_utils.hh:4, from highlighter.cc:3: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from highlighter.hh:4, from highlighter.cc:1: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from buffer_utils.hh:5: selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_bow(const Buffer&, BufferCoord)': buffer_utils.hh:54:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | if (coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_eow(const Buffer&, BufferCoord)': buffer_utils.hh:62:57: warning: C++20 says that these are ambiguous, even though the second is reversed: 62 | if (buffer.is_end(coord) or coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .file.opt.d -c -o .file.opt.o file.cc In file included from buffer.hh:310, from file.cc:4: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from buffer.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .highlighter_group.opt.d -c -o .highlighter_group.opt.o highlighter_group.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .hash_map.opt.d -c -o .hash_map.opt.o hash_map.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' In file included from buffer.hh:310, from buffer_utils.hh:4, from hash_map.cc:5: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from buffer.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from buffer_utils.hh:5: selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_bow(const Buffer&, BufferCoord)': buffer_utils.hh:54:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | if (coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_eow(const Buffer&, BufferCoord)': buffer_utils.hh:62:57: warning: C++20 says that these are ambiguous, even though the second is reversed: 62 | if (buffer.is_end(coord) or coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .hook_manager.opt.d -c -o .hook_manager.opt.o hook_manager.cc In file included from buffer.hh:310, from buffer_utils.hh:4, from hook_manager.cc:3: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from buffer.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from buffer_utils.hh:5: selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_bow(const Buffer&, BufferCoord)': buffer_utils.hh:54:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | if (coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_eow(const Buffer&, BufferCoord)': buffer_utils.hh:62:57: warning: C++20 says that these are ambiguous, even though the second is reversed: 62 | if (buffer.is_end(coord) or coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .input_handler.opt.d -c -o .input_handler.opt.o input_handler.cc In file included from buffer.hh:310, from selection.hh:4, from context.hh:4, from input_handler.hh:6, from input_handler.cc:1: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from buffer.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumake: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' mn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from input_handler.cc:4: buffer_utils.hh: In function 'bool Kakoune::is_bow(const Buffer&, BufferCoord)': buffer_utils.hh:54:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | if (coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_eow(const Buffer&, BufferCoord)': buffer_utils.hh:62:57: warning: C++20 says that these are ambiguous, even though the second is reversed: 62 | if (buffer.is_end(coord) or coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) input_handler.cc: In member function 'virtual void Kakoune::InputModes::Insert::on_disabled(bool)': input_handler.cc:1242:51: warning: C++20 says that these are ambiguous, even though the second is reversed: 1242 | if (sel.cursor() > sel.anchor() and sel.cursor() > BufferCoord{0, 0}) | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) input_handler.cc:1242:88: warning: C++20 says that these are ambiguous, even though the second is reversed: 1242 | if (sel.cursor() > sel.anchor() and sel.cursor() > BufferCoord{0, 0}) | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) input_handler.cc: In member function 'virtual void Kakoune::InputModes::Insert::on_key(Kakoune::Key)': input_handler.cc:1271:52: warning: C++20 says that these are ambiguous, even though the second is reversed: 1271 | if (sel.cursor() == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) input_handler.cc:1278:50: warning: C++20 says that these are ambiguous, even though the second is reversed: 1278 | if (main.cursor() != BufferCoord{0, 0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) input_handler.cc: In member function 'void Kakoune::InputModes::Insert::prepare(Kakoune::InsertMode, int)': input_handler.cc:1490:54: warning: C++20 says that these are ambiguous, even though the second is reversed: 1490 | if (sel.cursor() == buffer.end_coord()) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) input_handler.cc: In function 'void Kakoune::scroll_window(Context&, LineCount, bool)': input_handler.cc:1827:63: warning: C++20 says that these are ambiguous, even though the second is reversed: 1827 | BufferCoord new_anchor = (mouse_dragging or new_cursor == cursor) ? anchor : new_cursor; | ^~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .json.opt.d -c -o .json.opt.o json.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' json.cc: In lambda function: json.cc:23:48: warning: comparison is always true due to limited range of data type [-Wtype-limits] 23 | return c == '\\' or c == '"' or (c >= 0 and c <= 0x1F); | ~~^~~~ json.cc: In function 'Kakoune::String Kakoune::to_json(StringView)': json.cc:31:19: warning: comparison is always true due to limited range of data type [-Wtype-limits] 31 | if (*next >= 0 and *next <= 0x1F) | ~~~~~~^~~~ make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .commands.opt.d -c -o .commands.opt.o commands.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' In file included from buffer.hh:310, from commands.cc:3: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from buffer.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from buffer_utils.hh:5, from commands.cc:5: selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_bow(const Buffer&, BufferCoord)': buffer_utils.hh:54:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | if (coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_eow(const Buffer&, BufferCoord)': buffer_utils.hh:62:57: warning: C++20 says that these are ambiguous, even though the second is reversed: 62 | if (buffer.is_end(coord) or coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from commands.cc:16: highlighters.hh: In function 'bool Kakoune::operator==(const InclusiveBufferRange&, const InclusiveBufferRange&)': highlighters.hh:17:29: warning: C++20 says that these are ambiguous, even though the second is reversed: 17 | return lhs.first == rhs.first and lhs.last == rhs.last; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.hh:17:55: warning: C++20 says that these are ambiguous, even though the second is reversed: 17 | return lhs.first == rhs.first and lhs.last == rhs.last; | ^~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) commands.cc: In lambda function: commands.cc:2609:50: warning: redundant move in initialization [-Wredundant-move] 2609 | context.keymaps().add_user_mode(std::move(parser[0])); | ~~~~~~~~~^~~~~~~~~~~ commands.cc:2609:50: note: remove 'std::move' call commands.cc: In lambda function: commands.cc:2665:43: warning: redundant move in initialization [-Wredundant-move] 2665 | enter_user_mode(context, std::move(parser[0]), mode, lock); | ~~~~~~~~~^~~~~~~~~~~ commands.cc:2665:43: note: remove 'std::move' call commands.cc: In instantiation of 'void Kakoune::{anonymous}::edit(const Kakoune::ParametersParser&, Kakoune::Context&, const Kakoune::ShellContext&) [with bool force_reload = false]': commands.cc:461:5: required from here commands.cc:389:47: warning: redundant move in initialization [-Wredundant-move] 389 | buffer = create_buffer_from_string(std::move(name), flags, {}); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ commands.cc:389:47: note: remove 'std::move' call commands.cc: In instantiation of 'void Kakoune::{anonymous}::edit(const Kakoune::ParametersParser&, Kakoune::Context&, const Kakoune::ShellContext&) [with bool force_reload = true]': commands.cc:473:5: required from here commands.cc:389:47: warning: redundant move in initialization [-Wredundant-move] commands.cc:389:47: note: remove 'std::move' call make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .insert_completer.opt.d -c -o .insert_completer.opt.o insert_completer.cc In file included from buffer.hh:310, from buffer_manager.hh:4, from insert_completer.cc:3: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from display_buffer.hh:6, from insert_completer.hh:6, from insert_completer.cc:1: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from buffer_utils.hh:5, from insert_completer.cc:4: selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min()make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_bow(const Buffer&, BufferCoord)': buffer_utils.hh:54:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | if (coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_eow(const Buffer&, BufferCoord)': buffer_utils.hh:62:57: warning: C++20 says that these are ambiguous, even though the second is reversed: 62 | if (buffer.is_end(coord) or coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from units.hh:4, from completion.hh:7, from option_manager.hh:4, from insert_completer.hh:4: insert_completer.cc: In instantiation of 'bool Kakoune::InsertCompleter::try_complete(Func) [with Func = Kakoune::InsertCompletion (*)(const Kakoune::SelectionList&, const Kakoune::OptionManager&, const Kakoune::FaceRegistry&)]': insert_completer.cc:467:46: required from here insert_completer.cc:608:36: warning: C++20 says that these are ambiguous, even though the second is reversed: 608 | kak_assert(m_completions.begin <= sels.main().cursor()); assert.hh:33:47: note: in definition of macro 'kak_assert' 33 | #define kak_assert(...) do { (void)sizeof(__VA_ARGS__); } while(false) | ^~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) insert_completer.cc: In instantiation of 'bool Kakoune::InsertCompleter::try_complete(Func) [with Func = Kakoune::InsertCompleter::setup_ifn()::]': insert_completer.cc:528:29: required from here insert_completer.cc:608:36: warning: C++20 says that these are ambiguous, even though the second is reversed: 608 | kak_assert(m_completions.begin <= sels.main().cursor()); assert.hh:33:47: note: in definition of macro 'kak_assert' 33 | #define kak_assert(...) do { (void)sizeof(__VA_ARGS__); } while(false) | ^~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from insert_completer.cc:7: changes.hh: In instantiation of 'auto Kakoune::update_range(ForwardChangesTracker&, Range&, AdvanceFunc&&) [with Range = Range; AdvanceFunc = update_forward, Allocator, Kakoune::MemoryDomain::Undefined> > >(ConstArrayView, std::vector, Allocator, Kakoune::MemoryDomain::Undefined> >&)::&]': changes.hh:59:21: required from 'void Kakoune::update_forward(ConstArrayView, RangeContainer&) [with RangeContainer = std::vector, Allocator, Kakoune::MemoryDomain::Undefined> >; ConstArrayView = ArrayView]' changes.hh:98:27: required from 'void Kakoune::update_ranges(Buffer&, size_t&, RangeContainer&&) [with RangeContainer = std::vector, Allocator, Kakoune::MemoryDomain::Undefined> >&; size_t = long unsigned int]' insert_completer.cc:497:22: required from here changes.hh:39:14: warning: C++20 says that these are ambiguous, even though the second is reversed: 39 | if (last < BufferCoord{0,0}) | ~~~~~^~~~~~~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) changes.hh: In instantiation of 'auto Kakoune::update_range(ForwardChangesTracker&, Range&, AdvanceFunc&&) [with Range = Range; AdvanceFunc = update_backward, Allocator, Kakoune::MemoryDomain::Undefined> > >(ConstArrayView, std::vector, Allocator, Kakoune::MemoryDomain::Undefined> >&)::&]': changes.hh:81:21: required from 'void Kakoune::update_backward(ConstArrayView, RangeContainer&) [with RangeContainer = std::vector, Allocator, Kakoune::MemoryDomain::Undefined> >; ConstArrayView = ArrayView]' changes.hh:103:28: required from 'void Kakoune::update_ranges(Buffer&, size_t&, RangeContainer&&) [with RangeContainer = std::vector, Allocator, Kakoune::MemoryDomain::Undefined> >&; size_t = long unsigned int]' insert_completer.cc:497:22: required from here changes.hh:39:14: warning: C++20 says that these are ambiguous, even though the second is reversed: 39 | if (last < BufferCoord{0,0}) | ~~~~~^~~~~~~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) changes.hh: In instantiation of 'Kakoune::update_forward, Allocator, Kakoune::MemoryDomain::Undefined> > >(ConstArrayView, std::vector, Allocator, Kakoune::MemoryDomain::Undefined> >&):: [with auto:69 = Kakoune::Range]': /usr/include/c++/13/bits/predefined_ops.h:196:23: required from 'constexpr bool __gnu_cxx::__ops::_Iter_comp_val<_Compare>::operator()(_Iterator, _Value&) [with _Iterator = __gnu_cxx::__normal_iterator*, std::vector, Kakoune::Allocator, Kakoune::MemoryDomain::Undefined> > >; _Value = const Kakoune::Buffer::Change; _Compare = Kakoune::update_forward, Allocator, Kakoune::MemoryDomain::Undefined> > >(ConstArrayView, std::vector, Allocator, Kakoune::MemoryDomain::Undefined> >&)::]' /usr/include/c++/13/bits/stl_algobase.h:1470:14: required from 'constexpr _ForwardIterator std::__lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&, _Compare) [with _ForwardIterator = __gnu_cxx::__normal_iterator*, vector, Kakoune::Allocator, Kakoune::MemoryDomain::Undefined> > >; _Tp = Kakoune::Buffer::Change; _Compare = __gnu_cxx::__ops::_Iter_comp_val, Allocator, Kakoune::MemoryDomain::Undefined> > >(ConstArrayView, std::vector, Allocator, Kakoune::MemoryDomain::Undefined> >&):: >]' /usr/include/c++/13/bits/stl_algo.h:2015:32: required from 'constexpr _FIter std::lower_bound(_FIter, _FIter, const _Tp&, _Compare) [with _FIter = __gnu_cxx::__normal_iterator*, vector, Kakoune::Allocator, Kakoune::MemoryDomain::Undefined> > >; _Tp = Kakoune::Buffer::Change; _Compare = Kakoune::update_forward, Allocator, Kakoune::MemoryDomain::Undefined> > >(ConstArrayView, std::vector, Allocator, Kakoune::MemoryDomain::Undefined> >&)::]' changes.hh:56:37: required from 'void Kakoune::update_forward(ConstArrayView, RangeContainer&) [with RangeContainer = std::vector, Allocator, Kakoune::MemoryDomain::Undefined> >; ConstArrayView = ArrayView]' changes.hh:98:27: required from 'void Kakoune::update_ranges(Buffer&, size_t&, RangeContainer&&) [with RangeContainer = std::vector, Allocator, Kakoune::MemoryDomain::Undefined> >&; size_t = long unsigned int]' insert_completer.cc:497:22: required from here changes.hh:57:109: warning: C++20 says that these are ambiguous, even though the second is reversed: 57 | [](auto& range, const Buffer::Change& change) { return get_last(range) < change.begin; }); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from display_buffer.hh:7: range.hh: In instantiation of 'bool Kakoune::Range::empty() const [with T = Kakoune::BufferCoord]': insert_completer.cc:498:87: required from 'Kakoune::InsertCompleter::reset():: [with auto:81 = Kakoune::Range&]' ranges.hh:158:53: required from 'void Kakoune::FilterView::Iterator::do_filter() [with Range = std::vector, Kakoune::Allocator, Kakoune::MemoryDomain::Undefined> >&; Filter = Kakoune::InsertCompleter::reset()::]' ranges.hh:140:42: required from 'Kakoune::FilterView::Iterator& Kakoune::FilterView::Iterator::operator++() [with Range = std::vector, Kakoune::Allocator, Kakoune::MemoryDomain::Undefined> >&; Filter = Kakoune::InsertCompleter::reset()::]' ranges.hh:254:34: required from 'Kakoune::TransformView::Iterator& Kakoune::TransformView::Iterator::operator++() [with Range = Kakoune::FilterView, Kakoune::Allocator, Kakoune::MemoryDomain::Undefined> >&, Kakoune::InsertCompleter::reset():: >; Transform = Kakoune::InsertCompleter::reset()::]' string_utils.hh:38:5: required from 'Kakoune::String Kakoune::join(const Container&, char, bool) [with Container = TransformView, Allocator, Kakoune::MemoryDomain::Undefined> >&, InsertCompleter::reset():: >, InsertCompleter::reset():: >]' insert_completer.cc:498:26: required from here range.hh:28:39: warning: C++20 says that these are ambiguous, even though the second is reversed: 28 | bool empty() const { return begin == end; } | ~~~~~~^~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) insert_completer.cc: In instantiation of 'Kakoune::{anonymous}::complete_option(const Kakoune::SelectionList&, const Kakoune::OptionManager&, const Kakoune::FaceRegistry&, Kakoune::StringView):: [with auto:78 = const Kakoune::Buffer::Change&]': /usr/include/c++/13/bits/predefined_ops.h:318:23: required from 'constexpr bool __gnu_cxx::__ops::_Iter_pred<_Predicate>::operator()(_Iterator) [with _Iterator = const Kakoune::Buffer::Change*; _Predicate = Kakoune::{anonymous}::complete_option(const Kakoune::SelectionList&, const Kakoune::OptionManager&, const Kakoune::FaceRegistry&, Kakoune::StringView)::]' /usr/include/c++/13/bits/stl_algobase.h:2070:14: required from 'constexpr _RandomAccessIterator std::__find_if(_RandomAccessIterator, _RandomAccessIterator, _Predicate, random_access_iterator_tag) [with _RandomAccessIterator = const Kakoune::Buffer::Change*; _Predicate = __gnu_cxx::__ops::_Iter_pred >]' /usr/include/c++/13/bits/stl_algobase.h:2115:23: required from 'constexpr _Iterator std::__find_if(_Iterator, _Iterator, _Predicate) [with _Iterator = const Kakoune::Buffer::Change*; _Predicate = __gnu_cxx::__ops::_Iter_pred >]' /usr/include/c++/13/bits/stl_algo.h:3923:28: required from 'constexpr _IIter std::find_if(_IIter, _IIter, _Predicate) [with _IIter = const Kakoune::Buffer::Change*; _Predicate = Kakoune::{anonymous}::complete_option(const Kakoune::SelectionList&, const Kakoune::OptionManager&, const Kakoune::FaceRegistry&, Kakoune::StringView)::]' /usr/include/c++/13/bits/stl_algo.h:477:47: required from 'constexpr bool std::none_of(_IIter, _IIter, _Predicate) [with _IIter = const Kakoune::Buffer::Change*; _Predicate = Kakoune::{anonymous}::complete_option(const Kakoune::SelectionList&, const Kakoune::OptionManager&, const Kakoune::FaceRegistry&, Kakoune::StringView)::]' /usr/include/c++/13/bits/stl_algo.h:496:27: required from 'constexpr bool std::any_of(_IIter, _IIter, _Predicate) [with _IIter = const Kakoune::Buffer::Change*; _Predicate = Kakoune::{anonymous}::complete_option(const Kakoune::SelectionList&, const Kakoune::OptionManager&, const Kakoune::FaceRegistry&, Kakoune::StringView)::]' ranges.hh:589:23: required from 'bool Kakoune::any_of(Range&&, T) [with Range = ArrayView&; T = {anonymous}::complete_option(const Kakoune::SelectionList&, const Kakoune::OptionManager&, const Kakoune::FaceRegistry&, Kakoune::StringView)::]' insert_completer.cc:279:15: required from here insert_completer.cc:279:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 279 | if (any_of(changes, [&](auto&& change) { return change.begin < coord; })) | ~~~~~~~~~~~~~^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .json_ui.opt.d -c -o .json_ui.opt.o json_ui.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .keymap_manager.opt.d -c -o .keymap_manager.opt.o keymap_manager.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .keys.opt.d -c -o .keys.opt.o keys.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .highlighters.opt.d -c -o .highlighters.opt.o highlighters.cc In file included from highlighters.cc:1: highlighters.hh: In function 'bool Kakoune::operator==(const InclusiveBufferRange&, const InclusiveBufferRange&)': highlighters.hh:17:29: warning: C++20 says that these are ambiguous, even though the second is reversed: 17 | return lhs.first == rhs.first and lhs.last == rhs.last; | ^~~~~ In file included from highlighter.hh:4, from highlighters.hh:5: coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.hh:17:55: warning: C++20 says that these are ambiguous, even though the second is reversed: 17 | return lhs.first == rhs.first and lhs.last == rhs.last; | ^~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from buffer.hh:310, from buffer_utils.hh:4, from highlighters.cc:4: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from buffer_utils.hh:5: selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_bow(const Buffer&, BufferCoord)': buffer_utils.hh:54:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | if (coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_eow(const Buffer&, BufferCoord)': buffer_utils.hh:62:57: warning: C++20 says that these are ambiguous, even though the second is reversed: 62 | if (buffer.is_end(coord) or coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc: In function 'void Kakoune::apply_highlighter(HighlightContext, DisplayBuffer&, BufferCoord, BufferCoord, Highlighter&)': highlighters.cc:135:18: warning: C++20 says that these are ambiguous, even though the second is reversed: 135 | if (begin == end) | ^~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:149:26: warning: C++20 says that these are ambiguous, even though the second is reversed: 149 | if (range.end <= begin or end <= range.begin) | ^~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:149:48: warning: C++20 says that these are ambiguous, even though the second is reversed: 149 | if (range.end <= begin or end <= range.begin) | ^~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:155:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 155 | if (range.begin < begin or range.end > end) | ^~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:155:48: warning: C++20 says that these are ambiguous, even though the second is reversed: 155 | if (range.begin < begin or range.end > end) | ^~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:162:78: warning: C++20 says that these are ambiguous, even though the second is reversed: 162 | if (not atom_it->has_buffer_range() or end <= atom_it->begin() or begin >= atom_it->end()) | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:162:105: warning: C++20 says that these are ambiguous, even though the second is reversed: 162 | if (not atom_it->has_buffer_range() or end <= atom_it->begin() or begin >= atom_it->end()) | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:166:41: warning: C++20 says that these are ambiguous, even though the second is reversed: 166 | if (atom_it->begin() <= begin) | ^~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:168:60: warning: C++20 says that these are ambiguous, even though the second is reversed: 168 | if (is_replaced or atom_it->begin() == begin) | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:178:39: warning: C++20 says that these are ambiguous, even though the second is reversed: 178 | if (atom_it->end() >= end) | ^~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:180:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 180 | if (is_replaced or atom_it->end() == end) | ^~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc: In lambda function: highlighters.cc:280:36: warning: C++20 says that these are ambiguous, even though the second is reversed: 280 | return lhs.begin < rhs.begin ? lhs.end > rhs.begin | ^~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:280:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 280 | return lhs.begin < rhs.begin ? lhs.end > rhs.begin | ^~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:281:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 281 | : rhs.end > lhs.begin; | ^~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc: In lambda function: highlighters.cc:410:61: warning: C++20 says that these are ambiguous, even though the second is reversed: 410 | { return lhs < rhs.range.end; }); | ^~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc: In member function 'const Kakoune::RegexHighlighter::MatchList& Kakoune::RegexHighlighter::get_matches(const Kakoune::Buffer&, Kakoune::BufferRange, Kakoune::BufferRange)': highlighters.cc:412:60: warning: C++20 says that these are ambiguous, even though the second is reversed: 412 | if (it == matches.end() or it->range.begin > range.end) | ^~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:437:41: warning: C++20 says that these are ambiguous, even though the second is reversed: 437 | if (range.begin < old_range.begin) | ^~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:447:39: warning: C++20 says that these are ambiguous, even though the second is reversed: 447 | if (old_range.end < range.end) | ^~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc: In member function 'virtual void Kakoune::WrapHighlighter::do_highlight(Kakoune::HighlightContext, Kakoune::DisplayBuffer&, Kakoune::BufferRange)': highlighters.cc:732:44: warning: C++20 says that these are ambiguous, even though the second is reversed: 732 | coord < atom_it->begin() or coord >= atom_it->end()) | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:732:71: warning: C++20 says that these are ambiguous, even though the second is reversed: 732 | coord < atom_it->begin() or coord >= atom_it->end()) | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:740:44: warning: C++20 says that these are ambiguous, even though the second is reversed: 740 | if (coord > atom_it->begin()) | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc: In member function 'virtual void Kakoune::ShowWhitespacesHighlighter::do_highlight(Kakoune::HighlightContext, Kakoune::DisplayBuffer&, Kakoune::BufferRange)': highlighters.cc:1080:50: warning: C++20 says that these are ambiguous, even though the second is reversed: 1080 | if (coord != begin.coord()) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc: In function 'void Kakoune::show_matching_char(HighlightContext, DisplayBuffer&, BufferRange)': highlighters.cc:1237:25: warning: C++20 says that these are ambiguous, even though the second is reversed: 1237 | if (pos < range.begin or pos >= range.end) | ^~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:1237:47: warning: C++20 says that these are ambiguous, even though the second is reversed: 1237 | if (pos < range.begin or pos >= range.end) | ^~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:1251:47: warning: C++20 says that these are ambiguous, even though the second is reversed: 1251 | while (it.base().coord() <= range.end) | ^~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:1264:30: warning: C++20 says that these are ambiguous, even though the second is reversed: 1264 | else if (pos > range.begin) | ^~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:1278:48: warning: C++20 says that these are ambiguous, even though the second is reversed: 1278 | if (it.base().coord() <= range.begin) | ^~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc: In function 'void Kakoune::expand_unprintable(HighlightContext, DisplayBuffer&, BufferRange)': highlighters.cc:1341:53: warning: C++20 says that these are ambiguous, even though the second is reversed: 1341 | if (coord != atom_it->begin()) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:1343:55: warning: C++20 says that these are ambiguous, even though the second is reversed: 1343 | if (it.coord() < atom_it->end()) | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc: In function 'bool Kakoune::is_empty(const InclusiveBufferRange&)': highlighters.cc:1504:40: warning: C++20 says that these are ambiguous, even though the second is reversed: 1504 | return range.last < BufferCoord{0,0}; | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc: In function 'bool Kakoune::option_element_compare(const RangeAndString&, const RangeAndString&)': highlighters.cc:1578:55: warning: C++20 says that these are ambiguous, even though the second is reversed: 1578 | return std::get<0>(lhs).first == std::get<0>(rhs).first ? | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:1579:50: warning: C++20 says that these are ambiguous, even though the second is reversed: 1579 | std::get<0>(lhs).last < std::get<0>(rhs).last | ^~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:1580:51: warning: C++20 says that these are ambiguous, even though the second is reversed: 1580 | : std::get<0>(lhs).first < std::get<0>(rhs).first; | ^~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc: In lambda function: highlighters.cc:1653:139: warning: C++20 says that these are ambiguous, even though the second is reversed: 1653 | auto it = std::lower_bound(sels.begin(), sels.end(), range.first, [](const Selection& s, const BufferCoord& c) { return s.max() < c; }); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc: In static member function 'static bool Kakoune::ReplaceRangesHighlighter::is_fully_selected(const Kakoune::SelectionList&, const Kakoune::InclusiveBufferRange&)': highlighters.cc:1656:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 1656 | return it->min() > range.last or (it->min() <= range.first and it->max() >= range.last); | ^~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:1656:62: warning: C++20 says that these are ambiguous, even though the second is reversed: 1656 | return it->min() > range.last or (it->min() <= range.first and it->max() >= range.last); | ^~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:1656:91: warning: C++20 says that these are ambiguous, even though the second is reversed: 1656 | return it->min() > range.last or (it->min() <= range.first and it->max() >= range.last); | ^~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc: In lambda function: highlighters.cc:1889:91: warning: C++20 says that these are ambiguous, even though the second is reversed: 1889 | [](const Region& r, BufferCoord c) { return r.end < c; }); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc: In lambda function: highlighters.cc:1891:91: warning: C++20 says that these are ambiguous, even though the second is reversed: 1891 | [](const Region& r, BufferCoord c) { return r.begin < c; }); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc: In member function 'virtual void Kakoune::RegionsHighlighter::do_highlight(Kakoune::HighlightContext, Kakoune::DisplayBuffer&, Kakoune::BufferRange)': highlighters.cc:1906:55: warning: C++20 says that these are ambiguous, even though the second is reversed: 1906 | if (apply_default and last_begin < begin->begin) | ^~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:1919:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 1919 | if (apply_default and last_begin < display_range.end) | ^~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc: In static member function 'static bool Kakoune::RegionsHighlighter::compare_to_begin(const Kakoune::RegexMatch&, Kakoune::BufferCoord)': highlighters.cc:2142:36: warning: C++20 says that these are ambiguous, even though the second is reversed: 2142 | return lhs.begin_coord() < rhs; | ^~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc: In member function 'std::vector >::const_iterator Kakoune::RegionsHighlighter::find_matching_end(const Kakoune::Buffer&, Kakoune::BufferCoord, const Kakoune::RegexMatchList&, const Kakoune::RegexMatchList&, Kakoune::Optional) const': highlighters.cc:2161:61: warning: C++20 says that these are ambiguous, even though the second is reversed: 2161 | rec_it->end_coord() <= end_it->end_coord()) | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:2175:46: warning: C++20 says that these are ambiguous, even though the second is reversed: 2175 | if (beg_pos != end_it->end_coord()) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc: In member function 'Kakoune::Optional > > > > Kakoune::RegionsHighlighter::find_next_begin(const Cache&, Kakoune::BufferCoord) const': highlighters.cc:2194:98: warning: C++20 says that these are ambiguous, even though the second is reversed: 2194 | if (it != matches.end() and (not res or it->begin_coord() < res->second->begin_coord())) | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc: In member function 'const Kakoune::RegionsHighlighter::RegionList& Kakoune::RegionsHighlighter::get_regions_for_range(const Kakoune::Buffer&, Kakoune::BufferRange)': highlighters.cc:2378:77: warning: C++20 says that these are ambiguous, even though the second is reversed: 2378 | if (end_it == end_matches.end() or end_it->end_coord() >= range.end) // region continue past range end | ^~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:2381:41: warning: C++20 says that these are ambiguous, even though the second is reversed: 2381 | if (begin_coord < range.end) | ^~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:2392:50: warning: C++20 says that these are ambiguous, even though the second is reversed: 2392 | if (end_coord == beg_it->begin_coord()) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc: In instantiation of 'void Kakoune::highlight_range(DisplayBuffer&, BufferCoord, BufferCoord, bool, T) [with T = ::]': highlighters.cc:237:24: required from here highlighters.cc:55:15: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | if (begin >= end or end <= display_buffer.range().begin | ~~~~~~^~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:55:29: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | if (begin >= end or end <= display_buffer.range().begin | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:56:31: warning: C++20 says that these are ambiguous, even though the second is reversed: 56 | or begin >= display_buffer.range().end) | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:62:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 62 | if (range.end <= begin or end < range.begin) | ~~~~~~~~~~^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:62:39: warning: C++20 says that these are ambiguous, even though the second is reversed: 62 | if (range.end <= begin or end < range.begin) | ~~~~^~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:71:21: warning: C++20 says that these are ambiguous, even though the second is reversed: 71 | end <= atom_it->begin() or begin >= atom_it->end()) | ~~~~^~~~~~~~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:71:50: warning: C++20 says that these are ambiguous, even though the second is reversed: 71 | end <= atom_it->begin() or begin >= atom_it->end()) | ~~~~~~^~~~~~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:74:43: warning: C++20 says that these are ambiguous, even though the second is reversed: 74 | if (not is_replaced and begin > atom_it->begin()) | ~~~~~~^~~~~~~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:77:41: warning: C++20 says that these are ambiguous, even though the second is reversed: 77 | if (not is_replaced and end < atom_it->end()) | ~~~~^~~~~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc: In instantiation of 'void Kakoune::replace_range(DisplayBuffer&, BufferCoord, BufferCoord, T) [with T = ReplaceRangesHighlighter::do_highlight(Kakoune::HighlightContext, Kakoune::DisplayBuffer&, Kakoune::BufferRange)::]': highlighters.cc:1674:30: required from here highlighters.cc:94:15: warning: C++20 says that these are ambiguous, even though the second is reversed: 94 | if (begin > end or end < display_buffer.range().begin or begin > display_buffer.range().end) | ~~~~~~^~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:94:28: warning: C++20 says that these are ambiguous, even though the second is reversed: 94 | if (begin > end or end < display_buffer.range().begin or begin > display_buffer.range().end) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:94:68: warning: C++20 says that these are ambiguous, even though the second is reversed: 94 | if (begin > end or end < display_buffer.range().begin or begin > display_buffer.range().end) | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:98:143: warning: C++20 says that these are ambiguous, even though the second is reversed: 98 | auto first_it = std::lower_bound(lines.begin(), lines.end(), begin, [](const DisplayLine& l, const BufferCoord& c) { return l.range().end < c; }); | ~~~~~~~~~~~~~~^~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:102:148: warning: C++20 says that these are ambiguous, even though the second is reversed: 102 | auto first_atom_it = std::find_if(first_it->begin(), first_it->end(), [&begin](const DisplayAtom& a) { return a.has_buffer_range() and a.end() > begin; }); | ~~~~~~~~^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.cc:105:135: warning: C++20 says that these are ambiguous, even though the second is reversed: 105 | auto last_it = std::lower_bound(first_it, lines.end(), end, [](const DisplayLine& l, const BufferCoord& c) { return l.range().end < c; }); | ~~~~~~~~~~~~~~^~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from display_buffer.hh:7, from highlighter.hh:6: range.hh: In instantiation of 'bool Kakoune::operator==(const Range&, const Range&)': hash_map.hh:223:71: required from 'constexpr int Kakoune::HashMap::find_index(const KeyType&, size_t) const [with KeyType = Kakoune::Range; Key = Kakoune::Range; Value = std::vector >; Kakoune::MemoryDomain domain = Kakoune::MemoryDomain::Highlight; Container = Kakoune::Vector; bool multi_key = false; size_t = long unsigned int]' hash_map.hh:239:32: required from 'constexpr Kakoune::HashMap::EffectiveValue& Kakoune::HashMap::operator[](KeyType&&) [with KeyType = Kakoune::Range&; Key = Kakoune::Range; Value = std::vector >; Kakoune::MemoryDomain domain = Kakoune::MemoryDomain::Highlight; Container = Kakoune::Vector; bool multi_key = false; EffectiveValue = std::vector >]' highlighters.cc:402:53: required from here range.hh:15:26: warning: C++20 says that these are ambiguous, even though the second is reversed: 15 | return lhs.begin == rhs.begin and lhs.end == rhs.end; | ~~~~~~~~~~^~~~~~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) range.hh:15:51: warning: C++20 says that these are ambiguous, even though the second is reversed: 15 | return lhs.begin == rhs.begin and lhs.end == rhs.end; | ~~~~~~~~^~~~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from highlighters.cc:5: changes.hh: In instantiation of 'auto Kakoune::update_range(ForwardChangesTracker&, Range&, AdvanceFunc&&) [with Range = std::tuple; AdvanceFunc = update_forward, Allocator, Kakoune::MemoryDomain::Options> > >(ConstArrayView, std::vector, Allocator, Kakoune::MemoryDomain::Options> >&)::&]': changes.hh:59:21: required from 'void Kakoune::update_forward(ConstArrayView, RangeContainer&) [with RangeContainer = std::vector, Allocator, Kakoune::MemoryDomain::Options> >; ConstArrayView = ArrayView]' changes.hh:98:27: required from 'void Kakoune::update_ranges(Buffer&, size_t&, RangeContainer&&) [with RangeContainer = std::vector, Allocator, Kakoune::MemoryDomain::Options> >&; size_t = long unsigned int]' highlighters.cc:1590:18: required from here changes.hh:39:14: warning: C++20 says that these are ambiguous, even though the second is reversed: 39 | if (last < BufferCoord{0,0}) | ~~~~~^~~~~~~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) changes.hh: In instantiation of 'auto Kakoune::update_range(ForwardChangesTracker&, Range&, AdvanceFunc&&) [with Range = std::tuple; AdvanceFunc = update_backward, Allocator, Kakoune::MemoryDomain::Options> > >(ConstArrayView, std::vector, Allocator, Kakoune::MemoryDomain::Options> >&)::&]': changes.hh:81:21: required from 'void Kakoune::update_backward(ConstArrayView, RangeContainer&) [with RangeContainer = std::vector, Allocator, Kakoune::MemoryDomain::Options> >; ConstArrayView = ArrayView]' changes.hh:103:28: required from 'void Kakoune::update_ranges(Buffer&, size_t&, RangeContainer&&) [with RangeContainer = std::vector, Allocator, Kakoune::MemoryDomain::Options> >&; size_t = long unsigned int]' highlighters.cc:1590:18: required from here changes.hh:39:14: warning: C++20 says that these are ambiguous, even though the second is reversed: 39 | if (last < BufferCoord{0,0}) | ~~~~~^~~~~~~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) changes.hh: In instantiation of 'Kakoune::update_forward, Allocator, Kakoune::MemoryDomain::Options> > >(ConstArrayView, std::vector, Allocator, Kakoune::MemoryDomain::Options> >&):: [with auto:69 = std::tuple]': /usr/include/c++/13/bits/predefined_ops.h:196:23: required from 'constexpr bool __gnu_cxx::__ops::_Iter_comp_val<_Compare>::operator()(_Iterator, _Value&) [with _Iterator = __gnu_cxx::__normal_iterator*, std::vector, Kakoune::Allocator, Kakoune::MemoryDomain::Options> > >; _Value = const Kakoune::Buffer::Change; _Compare = Kakoune::update_forward, Allocator, Kakoune::MemoryDomain::Options> > >(ConstArrayView, std::vector, Allocator, Kakoune::MemoryDomain::Options> >&)::]' /usr/include/c++/13/bits/stl_algobase.h:1470:14: required from 'constexpr _ForwardIterator std::__lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&, _Compare) [with _ForwardIterator = __gnu_cxx::__normal_iterator*, vector, Kakoune::Allocator, Kakoune::MemoryDomain::Options> > >; _Tp = Kakoune::Buffer::Change; _Compare = __gnu_cxx::__ops::_Iter_comp_val, Allocator, Kakoune::MemoryDomain::Options> > >(ConstArrayView, std::vector, Allocator, Kakoune::MemoryDomain::Options> >&):: >]' /usr/include/c++/13/bits/stl_algo.h:2015:32: required from 'constexpr _FIter std::lower_bound(_FIter, _FIter, const _Tp&, _Compare) [with _FIter = __gnu_cxx::__normal_iterator*, vector, Kakoune::Allocator, Kakoune::MemoryDomain::Options> > >; _Tp = Kakoune::Buffer::Change; _Compare = Kakoune::update_forward, Allocator, Kakoune::MemoryDomain::Options> > >(ConstArrayView, std::vector, Allocator, Kakoune::MemoryDomain::Options> >&)::]' changes.hh:56:37: required from 'void Kakoune::update_forward(ConstArrayView, RangeContainer&) [with RangeContainer = std::vector, Allocator, Kakoune::MemoryDomain::Options> >; ConstArrayView = ArrayView]' changes.hh:98:27: required from 'void Kakoune::update_ranges(Buffer&, size_t&, RangeContainer&&) [with RangeContainer = std::vector, Allocator, Kakoune::MemoryDomain::Options> >&; size_t = long unsigned int]' highlighters.cc:1590:18: required from here changes.hh:57:109: warning: C++20 says that these are ambiguous, even though the second is reversed: 57 | [](auto& range, const Buffer::Change& change) { return get_last(range) < change.begin; }); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .line_modification.opt.d -c -o .line_modification.opt.o line_modification.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' In file included from buffer.hh:310, from line_modification.cc:3: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from buffer.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .option_manager.opt.d -c -o .option_manager.opt.o option_manager.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .option_types.opt.d -c -o .option_types.opt.o option_types.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .parameters_parser.opt.d -c -o .parameters_parser.opt.o parameters_parser.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .ranges.opt.d -c -o .ranges.opt.o ranges.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .ranked_match.opt.d -c -o .ranked_match.opt.o ranked_match.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .regex.opt.d -c -o .regex.opt.o regex.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .regex_impl.opt.d -c -o .regex_impl.opt.o regex_impl.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' regex_impl.cc:83:20: warning: ignoring packed attribute because of unpacked non-POD field 'Kakoune::ParsedRegex::Quantifier Kakoune::ParsedRegex::Node::quantifier' 83 | Quantifier quantifier; | ^~~~~~~~~~ make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .register_manager.opt.d -c -o .register_manager.opt.o register_manager.cc In file included from buffer.hh:310, from selection.hh:4, from context.hh:4, from register_manager.cc:4: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from buffer.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumnmake: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' ::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .scope.opt.d -c -o .scope.opt.o scope.cc In file included from buffer.hh:310, from selection.hh:4, from context.hh:4, from scope.cc:2: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from highlighter.hh:4, from highlighter_group.hh:6, from scope.hh:6, from scope.cc:1: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ comake: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' ord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .remote.opt.d -c -o .remote.opt.o remote.cc In file included from buffer.hh:310, from buffer_manager.hh:4, from remote.cc:3: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from buffer.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from buffer_utils.hh:5, from remote.cc:4: selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_bow(const Buffer&, BufferCoord)': buffer_utils.hh:54:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | if (coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_eow(const Buffer&, BufferCoord)': buffer_utils.hh:62:57: warning: C++20 says that these are ambiguous, even though the second is reversed: 62 | if (buffer.is_end(coord) or coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .main.opt.d -c -o .main.opt.o main.cc In file included from buffer.hh:310, from main.cc:3: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from buffer.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from buffer_utils.hh:5, from main.cc:5: selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' >(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_bow(const Buffer&, BufferCoord)': buffer_utils.hh:54:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | if (coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_eow(const Buffer&, BufferCoord)': buffer_utils.hh:62:57: warning: C++20 says that these are ambiguous, even though the second is reversed: 62 | if (buffer.is_end(coord) or coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from main.cc:13: highlighters.hh: In function 'bool Kakoune::operator==(const InclusiveBufferRange&, const InclusiveBufferRange&)': highlighters.hh:17:29: warning: C++20 says that these are ambiguous, even though the second is reversed: 17 | return lhs.first == rhs.first and lhs.last == rhs.last; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) highlighters.hh:17:55: warning: C++20 says that these are ambiguous, even though the second is reversed: 17 | return lhs.first == rhs.first and lhs.last == rhs.last; | ^~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from scope.hh:9, from buffer.hh:12: option_manager.hh: In instantiation of 'bool Kakoune::TypedOption::has_same_value(const Kakoune::Option&) const [with T = Kakoune::DisplayCoord]': option_manager.hh:189:10: required from here option_manager.hh:191:57: warning: C++20 says that these are ambiguous, even though the second is reversed: 191 | return other.is_of_type() and other.get() == m_value; | ~~~~~~~~~~~~~~~^~~~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::DisplayCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ColumnCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::DisplayCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ColumnCount]' (reversed) option_manager.hh: In instantiation of 'void Kakoune::TypedOption::set(T, bool) [with T = Kakoune::DisplayCoord]': option_manager.hh:169:9: required from 'void Kakoune::TypedOption::set_from_strings(Kakoune::ConstArrayView) [with T = Kakoune::DisplayCoord; Kakoune::ConstArrayView = Kakoune::ArrayView]' option_manager.hh:167:10: required from here option_manager.hh:139:21: warning: C++20 says that these are ambiguous, even though the second is reversed: 139 | if (m_value != value) | ~~~~~~~~^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::DisplayCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ColumnCount]' (rewritten) 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::DisplayCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ColumnCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .selection.opt.d -c -o .selection.opt.o selection.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' In file included from buffer.hh:310, from selection.hh:4, from selection.cc:1: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from buffer.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from selection.cc:3: buffer_utils.hh: In function 'bool Kakoune::is_bow(const Buffer&, BufferCoord)': buffer_utils.hh:54:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | if (coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_eow(const Buffer&, BufferCoord)': buffer_utils.hh:62:57: warning: C++20 says that these are ambiguous, even though the second is reversed: 62 | if (buffer.is_end(coord) or coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.cc: In function 'bool Kakoune::compare_selections(const Selection&, const Selection&)': selection.cc:58:20: warning: C++20 says that these are ambiguous, even though the second is reversed: 58 | return lmin == rmin ? lhs.max() < rhs.max() : lmin < rmin; | ^~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.cc:58:47: warning: C++20 says that these are ambiguous, even though the second is reversed: 58 | return lmin == rmin ? lhs.max() < rhs.max() : lmin < rmin; | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.cc:58:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 58 | return lmin == rmin ? lhs.max() < rhs.max() : lmin < rmin; | ^~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.cc: In function 'Kakoune::BufferCoord Kakoune::{anonymous}::update_insert(Kakoune::BufferCoord, Kakoune::BufferCoord, Kakoune::BufferCoord)': selection.cc:66:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | if (coord < begin) | ^~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.cc: In lambda function: selection.cc:190:29: warning: C++20 says that these are ambiguous, even though the second is reversed: 190 | return lhs.max() == end_coord or buffer.char_next(lhs.max()) >= rhs.min(); | ^~~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.cc:190:81: warning: C++20 says that these are ambiguous, even though the second is reversed: 190 | return lhs.max() == end_coord or buffer.char_next(lhs.max()) >= rhs.min(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.cc: In function 'Kakoune::Vector Kakoune::compute_modified_ranges(const Buffer&, size_t)': selection.cc:205:40: warning: C++20 says that these are ambiguous, even though the second is reversed: 205 | if (sel.anchor() != sel.cursor()) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.cc: In lambda function: selection.cc:309:22: warning: C++20 says that these are ambiguous, even though the second is reversed: 309 | if (begin == main_begin) | ^~~~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.cc:312:28: warning: C++20 says that these are ambiguous, even though the second is reversed: 312 | return begin < main_begin; | ^~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.cc: In lambda function: selection.cc:342:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 342 | return m_buffer->char_next(lhs.max()) >= rhs.min(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.cc: In function 'void Kakoune::replace(Buffer&, Selection&, StringView)': selection.cc:399:29: warning: C++20 says that these are ambiguous, even though the second is reversed: 399 | max = range.end > range.begin ? buffer.char_prev(range.end) : range.begin; | ^~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from selection.cc:4: changes.hh: In instantiation of 'auto Kakoune::update_range(ForwardChangesTracker&, Range&, AdvanceFunc&&) [with Range = Selection; AdvanceFunc = update_forward > >(ConstArrayView, std::vector >&)::&]': changes.hh:59:21: required from 'void Kakoune::update_forward(ConstArrayView, RangeContainer&) [with RangeContainer = std::vector >; ConstArrayView = ArrayView]' selection.cc:139:27: required from here changes.hh:39:14: warning: C++20 says that these are ambiguous, even though the second is reversed: 39 | if (last < BufferCoord{0,0}) | ~~~~~^~~~~~~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) changes.hh: In instantiation of 'auto Kakoune::update_range(ForwardChangesTracker&, Range&, AdvanceFunc&&) [with Range = Selection; AdvanceFunc = update_backward > >(ConstArrayView, std::vector >&)::&]': changes.hh:81:21: required from 'void Kakoune::update_backward(ConstArrayView, RangeContainer&) [with RangeContainer = std::vector >; ConstArrayView = ArrayView]' selection.cc:155:28: required from here changes.hh:39:14: warning: C++20 says that these are ambiguous, even though the second is reversed: 39 | if (last < BufferCoord{0,0}) | ~~~~~^~~~~~~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) changes.hh: In instantiation of 'Kakoune::update_forward > >(ConstArrayView, std::vector >&):: [with auto:69 = Kakoune::Selection]': /usr/include/c++/13/bits/predefined_ops.h:196:23: required from 'constexpr bool __gnu_cxx::__ops::_Iter_comp_val<_Compare>::operator()(_Iterator, _Value&) [with _Iterator = __gnu_cxx::__normal_iterator > >; _Value = const Kakoune::Buffer::Change; _Compare = Kakoune::update_forward > >(ConstArrayView, std::vector >&)::]' /usr/include/c++/13/bits/stl_algobase.h:1470:14: required from 'constexpr _ForwardIterator std::__lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&, _Compare) [with _ForwardIterator = __gnu_cxx::__normal_iterator > >; _Tp = Kakoune::Buffer::Change; _Compare = __gnu_cxx::__ops::_Iter_comp_val > >(ConstArrayView, std::vector >&):: >]' /usr/include/c++/13/bits/stl_algo.h:2015:32: required from 'constexpr _FIter std::lower_bound(_FIter, _FIter, const _Tp&, _Compare) [with _FIter = __gnu_cxx::__normal_iterator > >; _Tp = Kakoune::Buffer::Change; _Compare = Kakoune::update_forward > >(ConstArrayView, std::vector >&)::]' changes.hh:56:37: required from 'void Kakoune::update_forward(ConstArrayView, RangeContainer&) [with RangeContainer = std::vector >; ConstArrayView = ArrayView]' selection.cc:139:27: required from here changes.hh:57:109: warning: C++20 says that these are ambiguous, even though the second is reversed: 57 | [](auto& range, const Buffer::Change& change) { return get_last(range) < change.begin; }); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .shared_string.opt.d -c -o .shared_string.opt.o shared_string.cc In file included from buffer.hh:310, from buffer_utils.hh:4, from shared_string.cc:2: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from buffer.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from buffer_utils.hh:5: selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_bow(const Buffer&, BufferCoord)': buffer_utils.hh:54:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | if (coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_eow(const Buffer&, BufferCoord)': buffer_utils.hh:62:57: warning: C++20 says that these are ambiguous, even though the second is reversed: 62 | if (buffer.is_end(coord) or coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .string.opt.d -c -o .string.opt.o string.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .string_utils.opt.d -c -o .string_utils.opt.o string_utils.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .shell_manager.opt.d -c -o .shell_manager.opt.o shell_manager.cc In file included from buffer.hh:310, from buffer_utils.hh:4, from shell_manager.cc:3: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from buffer.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from buffer_utils.hh:5: selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_bow(const Buffer&, BufferCoord)': buffer_utils.hh:54:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | if (coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_eow(const Buffer&, BufferCoord)': buffer_utils.hh:62:57: warning: C++20 says that these are ambiguous, even though the second is reversed: 62 | if (buffer.is_end(coord) or coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) shell_manager.cc: In lambda function: shell_manager.cc:228:20: warning: ignoring return value of 'char* mkdtemp(char*)' declared with attribute 'warn_unused_result' [-Wunused-result] 228 | mkdtemp(base_dir.data()), | ~~~~~~~^~~~~~~~~~~~~~~~~ make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .unit_tests.opt.d -c -o .unit_tests.opt.o unit_tests.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .selectors.opt.d -c -o .selectors.opt.o selectors.cc In file included from buffer.hh:310, from buffer_utils.hh:4, from selectors.cc:3: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from buffer.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from buffer_utils.hh:5: selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_bow(const Buffer&, BufferCoord)': buffer_utils.hh:54:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | if (coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_eow(const Buffer&, BufferCoord)': buffer_utils.hh:62:57: warning: C++20 says that these are ambiguous, even though the second is reversed: 62 | if (buffer.is_end(coord) or coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selectors.cc: In function 'Kakoune::Selection Kakoune::keep_direction(Selection, const Selection&)': selectors.cc:42:36: warning: C++20 says that these are ambiguous, even though the second is reversed: 42 | if ((res.cursor() < res.anchor()) != (ref.cursor() < ref.anchor())) | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selectors.cc: In function 'Kakoune::Optional Kakoune::select_surrounding(const Context&, const Selection&, const Regex&, const Regex&, int, ObjectFlags)': selectors.cc:389:46: warning: C++20 says that these are ambiguous, even though the second is reversed: 389 | (res->first.coord() == selection.min() or not (flags & ObjectFlags::ToBegin)) and | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selectors.cc:390:47: warning: C++20 says that these are ambiguous, even though the second is reversed: 390 | (res->second.coord() == selection.max() or not (flags & ObjectFlags::ToEnd))) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selectors.cc: In function 'Kakoune::Optional Kakoune::select_paragraph(const Context&, const Selection&, int, ObjectFlags)': selectors.cc:557:81: warning: C++20 says that these are ambiguous, even though the second is reversed: 557 | if (not (flags & ObjectFlags::ToEnd) and first.coord() > BufferCoord{0,1} and | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selectors.cc: In function 'Kakoune::Optional Kakoune::select_lines(const Context&, const Selection&)': selectors.cc:817:44: warning: C++20 says that these are ambiguous, even though the second is reversed: 817 | BufferCoord& to_line_start = anchor <= cursor ? anchor : cursor; | ^~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selectors.cc:818:42: warning: C++20 says that these are ambiguous, even though the second is reversed: 818 | BufferCoord& to_line_end = anchor <= cursor ? cursor : anchor; | ^~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selectors.cc: In function 'Kakoune::Optional Kakoune::trim_partial_lines(const Context&, const Selection&)': selectors.cc:832:44: warning: C++20 says that these are ambiguous, even though the second is reversed: 832 | BufferCoord& to_line_start = anchor <= cursor ? anchor : cursor; | ^~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selectors.cc:833:42: warning: C++20 says that these are ambiguous, even though the second is reversed: 833 | BufferCoord& to_line_end = anchor <= cursor ? cursor : anchor; | ^~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selectors.cc:846:25: warning: C++20 says that these are ambiguous, even though the second is reversed: 846 | if (to_line_start > to_line_end) | ^~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from memory.hh:8, from string.hh:4, from enum.hh:4, from selectors.hh:4, from selectors.cc:1: selectors.cc: In function 'Kakoune::Vector Kakoune::select_matches(const Buffer&, ConstArrayView, const Regex&, int)': selectors.cc:945:77: warning: C++20 says that these are ambiguous, even though the second is reversed: 945 | kak_assert(result.empty() or begin.coord() >= result.back().min()); | ^ assert.hh:33:47: note: in definition of macro 'kak_assert' 33 | #define kak_assert(...) do { (void)sizeof(__VA_ARGS__); } while(false) | ^~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selectors.cc: In function 'Kakoune::Vector Kakoune::split_on_matches(const Buffer&, ConstArrayView, const Regex&, int)': selectors.cc:985:38: warning: C++20 says that these are ambiguous, even though the second is reversed: 985 | if (begin.coord() <= sel.max()) | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selectors.cc: In instantiation of 'Kakoune::Optional Kakoune::select_to_line_end(const Context&, const Selection&) [with bool only_move = false]': selectors.cc:189:88: required from here selectors.cc:185:13: warning: C++20 says that these are ambiguous, even though the second is reversed: 185 | if (end < begin) // Do not go backward when cursor is on eol | ~~~~^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selectors.cc: In instantiation of 'Kakoune::Optional Kakoune::select_to_line_end(const Context&, const Selection&) [with bool only_move = true]': selectors.cc:190:87: required from here selectors.cc:185:13: warning: C++20 says that these are ambiguous, even though the second is reversed: 185 | if (end < begin) // Do not go backward when cursor is on eol | ~~~~^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .normal.opt.d -c -o .normal.opt.o normal.cc In file included from buffer.hh:310, from normal.cc:3: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from keys.hh:4, from normal.hh:5, from normal.cc:1: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from buffer_utils.hh:5, from normal.cc:5: selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr automake: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_bow(const Buffer&, BufferCoord)': buffer_utils.hh:54:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | if (coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_eow(const Buffer&, BufferCoord)': buffer_utils.hh:62:57: warning: C++20 says that these are ambiguous, even though the second is reversed: 62 | if (buffer.is_end(coord) or coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) normal.cc: In function 'void Kakoune::merge_selections(Selection&, const Selection&)': normal.cc:49:53: warning: C++20 says that these are ambiguous, even though the second is reversed: 49 | const bool forward = sel.cursor() >= sel.anchor(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) normal.cc:53:54: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | const bool backward = sel.cursor() <= sel.anchor(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) normal.cc: In function 'void Kakoune::select_boundaries(Context&, NormalParams)': normal.cc:1076:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 1076 | if (sel.min() != sel.max()) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) normal.cc: In instantiation of 'void Kakoune::paste(Context&, NormalParams) [with PasteMode mode = Kakoune::PasteMode::Append]': normal.cc:2382:1: required from here normal.cc:692:25: warning: C++20 says that these are ambiguous, even though the second is reversed: 692 | max = range.end > range.begin ? buffer.char_prev(range.end) : range.begin; | ~~~~~~~~~~^~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) normal.cc: In instantiation of 'void Kakoune::paste(Context&, NormalParams) [with PasteMode mode = Kakoune::PasteMode::Insert]': normal.cc:2382:1: required from here normal.cc:692:25: warning: C++20 says that these are ambiguous, even though the second is reversed: 692 | max = range.end > range.begin ? buffer.char_prev(range.end) : range.begin; | ~~~~~~~~~~^~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) normal.cc: In instantiation of 'void Kakoune::goto_commands(Context&, NormalParams) [with SelectMode mode = Kakoune::SelectMode::Replace]': normal.cc:2233:33: required from here normal.cc:329:26: warning: C++20 says that these are ambiguous, even though the second is reversed: 329 | if (*pos >= buffer.back_coord()) | ~~~~~^~~~~~~~~~~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) normal.cc: In instantiation of 'void Kakoune::goto_commands(Context&, NormalParams) [with SelectMode mode = Kakoune::SelectMode::Extend]': normal.cc:2234:37: required from here normal.cc:329:26: warning: C++20 says that these are ambiguous, even though the second is reversed: 329 | if (*pos >= buffer.back_coord()) | ~~~~~^~~~~~~~~~~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) normal.cc: In instantiation of 'void Kakoune::paste(Context&, NormalParams) [with PasteMode mode = Kakoune::PasteMode::Replace]': normal.cc:2244:57: required from here normal.cc:692:25: warning: C++20 says that these are ambiguous, even though the second is reversed: 692 | max = range.end > range.begin ? buffer.char_prev(range.end) : range.begin; | ~~~~~~~~~~^~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) normal.cc: In instantiation of 'void Kakoune::pipe(Context&, NormalParams) [with bool replace = true]': normal.cc:2258:77: required from here normal.cc:592:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 592 | if (new_end != beg) | ~~~~~~~~^~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) normal.cc:596:37: warning: C++20 says that these are ambiguous, even though the second is reversed: 596 | if (new_end != BufferCoord{}) | ~~~~~~~~^~~~~~~~~~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) normal.cc: In instantiation of 'void Kakoune::pipe(Context&, NormalParams) [with bool replace = false]': normal.cc:2259:77: required from here normal.cc:592:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 592 | if (new_end != beg) | ~~~~~~~~^~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) normal.cc:596:37: warning: C++20 says that these are ambiguous, even though the second is reversed: 596 | if (new_end != BufferCoord{}) | ~~~~~~~~^~~~~~~~~~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) normal.cc: In instantiation of 'void Kakoune::insert_output(Context&, NormalParams) [with PasteMode mode = Kakoune::PasteMode::Insert]': normal.cc:2260:40: required from here normal.cc:778:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 778 | max = range.end > range.begin ? buffer.char_prev(range.end) : range.begin; | ~~~~~~~~~~^~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) normal.cc: In instantiation of 'void Kakoune::insert_output(Context&, NormalParams) [with PasteMode mode = Kakoune::PasteMode::Append]': normal.cc:2261:45: required from here normal.cc:778:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 778 | max = range.end > range.begin ? buffer.char_prev(range.end) : range.begin; | ~~~~~~~~~~^~~~~~~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -c -o .version.o .version.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .window.opt.d -c -o .window.opt.o window.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' In file included from buffer.hh:310, from selection.hh:4, from context.hh:4, from input_handler.hh:6, from client.hh:7, from window.hh:4, from window.cc:1: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from display_buffer.hh:6, from client.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'bool Kakoune::Selection::operator==(const Kakoune::Selection&) const': selection.hh:47:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 47 | return m_anchor == other.m_anchor and m_cursor == other.m_cursor; | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::min()': selection.hh:54:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | BufferCoord& min() { return m_anchor <= m_cursor ? m_anchor : m_cursor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In member function 'Kakoune::BufferCoord& Kakoune::Selection::max()': selection.hh:55:45: warning: C++20 says that these are ambiguous, even though the second is reversed: 55 | BufferCoord& max() { return m_anchor <= m_cursor ? m_cursor : m_anchor; } | ^~~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh: In function 'bool Kakoune::overlaps(const Selection&, const Selection&)': selection.hh:66:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:66:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 66 | return lhs.min() <= rhs.min() ? lhs.max() >= rhs.min() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) selection.hh:67:58: warning: C++20 says that these are ambiguous, even though the second is reversed: 67 | : lhs.min() <= rhs.max(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) In file included from window.cc:10: buffer_utils.hh: In function 'bool Kakoune::is_bow(const Buffer&, BufferCoord)': buffer_utils.hh:54:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 54 | if (coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer_utils.hh: In function 'bool Kakoune::is_eow(const Buffer&, BufferCoord)': buffer_utils.hh:62:57: warning: C++20 says that these are ambiguous, even though the second is reversed: 62 | if (buffer.is_end(coord) or coord == BufferCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) window.cc: In member function 'bool Kakoune::Window::needs_redraw(const Kakoune::Context&) const': window.cc:102:36: warning: C++20 says that these are ambiguous, even though the second is reversed: 102 | if (m_position != m_last_setup.position or | ^~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::DisplayCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ColumnCount]' (rewritten) 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::DisplayCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ColumnCount]' (reversed) window.cc:103:38: warning: C++20 says that these are ambiguous, even though the second is reversed: 103 | m_dimensions != m_last_setup.dimensions or | ^~~~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::DisplayCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ColumnCount]' (rewritten) 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::DisplayCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ColumnCount]' (reversed) window.cc:113:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | selections[i].anchor() != m_last_setup.selections[i].end) | ^~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) window.cc: In member function 'const Kakoune::DisplayBuffer& Kakoune::Window::update_display_buffer(const Kakoune::Context&)': window.cc:142:41: warning: C++20 says that these are ambiguous, even though the second is reversed: 142 | if (m_dimensions == DisplayCoord{0,0}) | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::DisplayCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ColumnCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::DisplayCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ColumnCount]' (reversed) window.cc: In member function 'void Kakoune::Window::set_dimensions(Kakoune::DisplayCoord)': window.cc:188:25: warning: C++20 says that these are ambiguous, even though the second is reversed: 188 | if (m_dimensions != dimensions) | ^~~~~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::DisplayCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ColumnCount]' (rewritten) 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::DisplayCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ColumnCount]' (reversed) window.cc: In function 'Kakoune::ColumnCount Kakoune::{anonymous}::find_display_column(const Kakoune::DisplayLine&, const Kakoune::Buffer&, Kakoune::BufferCoord)': window.cc:272:33: warning: C++20 says that these are ambiguous, even though the second is reversed: 272 | coord >= atom.begin() and coord < atom.end()) | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) window.cc:272:56: warning: C++20 says that these are ambiguous, even though the second is reversed: 272 | coord >= atom.begin() and coord < atom.end()) | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) window.cc: In function 'Kakoune::BufferCoord Kakoune::{anonymous}::find_buffer_coord(const Kakoune::DisplayLine&, const Kakoune::Buffer&, Kakoune::ColumnCount)': window.cc:302:40: warning: C++20 says that these are ambiguous, even though the second is reversed: 302 | return range.end == BufferCoord{0,0} ? | ^ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) window.cc: In member function 'Kakoune::Optional Kakoune::Window::display_position(Kakoune::BufferCoord) const': window.cc:316:28: warning: C++20 says that these are ambiguous, even though the second is reversed: 316 | if (range.begin <= coord and coord < range.end) | ^~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) window.cc:316:52: warning: C++20 says that these are ambiguous, even though the second is reversed: 316 | if (range.begin <= coord and coord < range.end) | ^~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .terminal_ui.opt.d -c -o .terminal_ui.opt.o terminal_ui.cc terminal_ui.cc: In function 'Kakoune::String Kakoune::fix_atom_text(StringView)': terminal_ui.cc:33:15: warning: comparison is always true due to limited range of data type [-Wtype-limits] 33 | if (c >= 0 and c <= 0x1F) | ~~^~~~ terminal_ui.cc: In function 'Kakoune::DisplayCoord Kakoune::compute_pos(DisplayCoord, DisplayCoord, TerminalUI::Rect, TerminalUI::Rect, bool)': terminal_ui.cc:1194:39: warning: C++20 says that these are ambiguous, even though the second is reversed: 1194 | if (to_avoid.size != DisplayCoord{}) | ^ In file included from terminal_ui.hh:5, from terminal_ui.cc:1: coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::DisplayCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ColumnCount]' (rewritten) 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::DisplayCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ColumnCount]' (reversed) make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .word_db.opt.d -c -o .word_db.opt.o word_db.cc make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' In file included from buffer.hh:310, from word_db.cc:3: buffer.inl.hh: In member function 'Kakoune::ByteCount Kakoune::Buffer::distance(Kakoune::BufferCoord, Kakoune::BufferCoord) const': buffer.inl.hh:32:17: warning: C++20 says that these are ambiguous, even though the second is reversed: 32 | if (begin > end) | ^~~ In file included from buffer.hh:5: coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::Buffer::is_end(Kakoune::BufferCoord) const': buffer.inl.hh:53:27: warning: C++20 says that these are ambiguous, even though the second is reversed: 53 | return c >= end_coord(); | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferIterator&) const': buffer.inl.hh:107:66: warning: C++20 says that these are ambiguous, even though the second is reversed: 107 | return m_buffer == iterator.m_buffer and m_coord == iterator.m_coord; | ^~~~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'std::strong_ordering Kakoune::BufferIterator::operator<=>(const Kakoune::BufferIterator&) const': buffer.inl.hh:113:34: warning: C++20 says that these are ambiguous, even though the second is reversed: 113 | return (m_coord <=> iterator.m_coord); | ^~~~~~~ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) buffer.inl.hh: In member function 'bool Kakoune::BufferIterator::operator==(const Kakoune::BufferCoord&) const': buffer.inl.hh:118:23: warning: C++20 says that these are ambiguous, even though the second is reversed: 118 | return m_coord == coord; | ^~~~~ coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' 52 | constexpr bool operator== (EffectiveType other) const | ^~~~~~~~ coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -rdynamic -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime .alias_registry.opt.o .assert.opt.o .backtrace.opt.o .buffer.opt.o .buffer_manager.opt.o .buffer_utils.opt.o .changes.opt.o .client.opt.o .client_manager.opt.o .color.opt.o .command_manager.opt.o .commands.opt.o .completion.opt.o .context.opt.o .display_buffer.opt.o .env_vars.opt.o .event_manager.opt.o .exception.opt.o .face_registry.opt.o .file.opt.o .hash.opt.o .hash_map.opt.o .highlighter.opt.o .highlighter_group.opt.o .highlighters.opt.o .hook_manager.opt.o .input_handler.opt.o .insert_completer.opt.o .json.opt.o .json_ui.opt.o .keymap_manager.opt.o .keys.opt.o .line_modification.opt.o .main.opt.o .memory.opt.o .normal.opt.o .option_manager.opt.o .option_types.opt.o .parameters_parser.opt.o .ranges.opt.o .ranked_match.opt.o .regex.opt.o .regex_impl.opt.o .register_manager.opt.o .remote.opt.o .scope.opt.o .selection.opt.o .selectors.opt.o .shared_string.opt.o .shell_manager.opt.o .string.opt.o .string_utils.opt.o .terminal_ui.opt.o .unit_tests.opt.o .window.opt.o .word_db.opt.o .version.o -o kak.opt terminal_ui.cc: In member function 'create': terminal_ui.cc:159:40: warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=] 159 | lines.reset(new Line[(int)size.line]); | ^ /usr/include/c++/13/new:128:26: note: in a call to allocation function 'operator new []' declared here 128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc) | ^ make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' ln -sf kak.opt kak make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.wcySqV + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64 '!=' / ']' + rm -rf /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64 ++ dirname /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64 + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd kakoune-2022.10.31 + /usr/bin/make install DESTDIR=/builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64 'INSTALL=/usr/bin/install -p' -C src PREFIX=/usr version=2022.10.31 make: Entering directory '/builddir/build/BUILD/kakoune-2022.10.31/src' g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -c -o .version.o .version.cc g++ -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -rdynamic -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime .alias_registry.opt.o .assert.opt.o .backtrace.opt.o .buffer.opt.o .buffer_manager.opt.o .buffer_utils.opt.o .changes.opt.o .client.opt.o .client_manager.opt.o .color.opt.o .command_manager.opt.o .commands.opt.o .completion.opt.o .context.opt.o .display_buffer.opt.o .env_vars.opt.o .event_manager.opt.o .exception.opt.o .face_registry.opt.o .file.opt.o .hash.opt.o .hash_map.opt.o .highlighter.opt.o .highlighter_group.opt.o .highlighters.opt.o .hook_manager.opt.o .input_handler.opt.o .insert_completer.opt.o .json.opt.o .json_ui.opt.o .keymap_manager.opt.o .keys.opt.o .line_modification.opt.o .main.opt.o .memory.opt.o .normal.opt.o .option_manager.opt.o .option_types.opt.o .parameters_parser.opt.o .ranges.opt.o .ranked_match.opt.o .regex.opt.o .regex_impl.opt.o .register_manager.opt.o .remote.opt.o .scope.opt.o .selection.opt.o .selectors.opt.o .shared_string.opt.o .shell_manager.opt.o .string.opt.o .string_utils.opt.o .terminal_ui.opt.o .unit_tests.opt.o .window.opt.o .word_db.opt.o .version.o -o kak.opt terminal_ui.cc: In member function 'create': terminal_ui.cc:159:40: warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=] 159 | lines.reset(new Line[(int)size.line]); | ^ /usr/include/c++/13/new:128:26: note: in a call to allocation function 'operator new []' declared here 128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc) | ^ ln -sf kak.opt kak gzip -n -9 -f < ../doc/kak.1 > ../doc/kak.1.gz install -d /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/bin \ /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/libexec/kak \ /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/share/kak/rc \ /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/share/kak/colors \ /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/share/kak/doc \ /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/share/doc/kakoune \ /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/share/man/man1 install -m 0755 kak /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/bin ln -sf ../../bin/kak /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/libexec/kak/kak install -m 0644 ../share/kak/kakrc /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/share/kak install -m 0644 ../doc/pages/*.asciidoc /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/share/kak/doc cp -r ../rc/* /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/share/kak/rc find /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/share/kak/rc -type f -exec chmod 0644 {} + [ -e /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/share/kak/autoload ] || ln -s rc /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/share/kak/autoload install -m 0644 ../colors/* /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/share/kak/colors install -m 0644 ../README.asciidoc /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/share/doc/kakoune install -m 0644 ../doc/kak.1.gz /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/share/man/man1 make: Leaving directory '/builddir/build/BUILD/kakoune-2022.10.31/src' + /usr/bin/find-debuginfo -j4 --strict-build-id -m -i --build-id-seed 2022.10.31-4.fc38 --unique-debug-suffix -2022.10.31-4.fc38.riscv64 --unique-debug-src-base kakoune-2022.10.31-4.fc38.riscv64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /builddir/build/BUILD/kakoune-2022.10.31 extracting debug info from /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/bin/kak warning: Unsupported auto-load script at offset 0 in section .debug_gdb_scripts of file /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/bin/kak. Use `info auto-load python-scripts [REGEXP]' to list them. original debug info size: 90644kB, size after compression: 87616kB /usr/bin/sepdebugcrcfix: Updated 1 CRC32s, 0 CRC32s did match. 2362 blocks + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j4 + /usr/lib/rpm/redhat/brp-python-hardlink Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.QcQjrj + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CFLAGS ~/build/BUILD/kakoune-2022.10.31/src ~/build/BUILD/kakoune-2022.10.31 + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd kakoune-2022.10.31 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + pushd src + LANG=en_US.utf8 + /usr/bin/make -O -j4 V=1 VERBOSE=1 test g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -c -o .version.o .version.cc g++ -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -rdynamic -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime .alias_registry.opt.o .assert.opt.o .backtrace.opt.o .buffer.opt.o .buffer_manager.opt.o .buffer_utils.opt.o .changes.opt.o .client.opt.o .client_manager.opt.o .color.opt.o .command_manager.opt.o .commands.opt.o .completion.opt.o .context.opt.o .display_buffer.opt.o .env_vars.opt.o .event_manager.opt.o .exception.opt.o .face_registry.opt.o .file.opt.o .hash.opt.o .hash_map.opt.o .highlighter.opt.o .highlighter_group.opt.o .highlighters.opt.o .hook_manager.opt.o .input_handler.opt.o .insert_completer.opt.o .json.opt.o .json_ui.opt.o .keymap_manager.opt.o .keys.opt.o .line_modification.opt.o .main.opt.o .memory.opt.o .normal.opt.o .option_manager.opt.o .option_types.opt.o .parameters_parser.opt.o .ranges.opt.o .ranked_match.opt.o .regex.opt.o .regex_impl.opt.o .register_manager.opt.o .remote.opt.o .scope.opt.o .selection.opt.o .selectors.opt.o .shared_string.opt.o .shell_manager.opt.o .string.opt.o .string_utils.opt.o .terminal_ui.opt.o .unit_tests.opt.o .window.opt.o .word_db.opt.o .version.o -o kak.opt terminal_ui.cc: In member function ‘create’: terminal_ui.cc:159:40: warning: argument 1 value ‘18446744073709551615’ exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=] 159 | lines.reset(new Line[(int)size.line]); | ^ /usr/include/c++/13/new:128:26: note: in a call to allocation function ‘operator new []’ declared here 128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc) | ^ ln -sf kak.opt kak cd ../test && ./run kak-tests.PU7xJPJi compose backward-search catch-error-desc complex-pipe del-empty-line discard-selections-with-itersel do-not-run-hooks-added-by-parent echo-to-file eof-multi-delete file-expansion history hook-named-captures inline-sort line-completion no-hook-on-unset-option-with-same-parent pipe-at-eof select-codepoints select-display-columns selections_char_desc-expansion select-timestamp undo-multi-replace-at-end unicode display horizontal-scroll horizontal-scroll-onto-tab horizontal-scroll-with-tab vertical-scroll highlight column multi-columns face-override named-captures number-lines ranges regions regions-recurse replace-empty-range replace-multiline-range replace-multiline-range-pulls-new-lines replace-only-fully-selected-ranges rust comment0 doc_comment_hidden doc_comment_hidden_with_empty_line inner_block_comment1 inner_block_doc_comment1 inner_line_doc_comment1 let line_comment1 outer_block_doc_comment0 pub todo value wrap avoid-odd-places hooks completion-hide once remove-regex indent c-family align-while-expr close-function-with-struct-param close-namespace close-struct comment-line-continuation construct-align deindent-function-closing-brace deindent-generic-closing-brace deindent-if-body deindent-if-closing-brace indent-after-parenthesis indent-else-brace indent-if-body indent-if-brace move-brace multiline-nested-align nested-align open-function paren-in-literal preserve-tabs clojure doubled-brackets comment comment-multiple-lines-indented comment-multiple-lines-unindented comment-multiple-lines-when-partially-commented uncomment-multiple-indented-lines elixir do-keyword following-blocks-should-not-prevent-end function-definition-shouldnt-duplicate insert-comment-hash fidl comments on-closing on-newline go deindent-function-closing-brace deindent-generic-closing-brace deindent-if-closing-brace insert-comment haskell before-comment indented-comment inside-comment html indent-closing-tag indent-on-new-line javascript deindent-complex-brace-structure lisp doubled-brackets lua insert-end-only-when-needed unindent-after-end markdown inside-complex-blockquote inside-list-item inside-nested-list-item inside-simple-blockquote inside-strong-emphasis list-item open-after-setext-heading-1 open-after-setext-heading-2 ruby deindent-on-if-else-end do-keyword following-blocks-should-not-prevent-end indent-after-class insert-comment-hash method-definition-shouldnt-duplicate rust after-open after-open-with-chars after-variable after-where align-closing-brace align-closing-brack align-closing-paren before-where block-comment block-comment-close dedent dedent-async dedent-function-closing-brace dedent-generic-closing-brace dedent-if-closing-brace empty-line empty-match line-comment line-comment-close line-start-with-operator on-open-paren sh deindent-after-done deindent-after-esac deindent-after-fi deindent-case-option deindent-compound-command deindent-one-line-case-option deindent-only-else indent-after-do indent-after-in indent-after-then indent-block-case indent-compound-command no-deindent-after-else no-deindent-after-fi normal align align-tab all append append-at-eol change clear-selections codepoint-width tab-width vertical-movement concat-paste-line convert-spaces-to-tabs convert-tabs-to-spaces copy-sel-above copy-sel-below copy-sel-below-multi-line deindent delete extend-lines extra-word-chars facedesc-invalid-syntax attributes bg-color find-char-backward find-char-backward-extending find-char-forward find-char-forward-extending goto buffer-bottom buffer-end buffer-top goto-extending buffer-bottom buffer-end buffer-top last-change line-begin line-end file last-buffer last-change line-begin line-end indent insert insert-at-line-start insert-replace jump backward backward-count backward-invalid-count forward forward-count forward-invalid-count keep-cmd keep-cmd-reg lower-case match-char move down down-extending left left-extending right right-extending up up-extending next-big-word next-big-word-extending next-match next-match-appending next-word next-word-extending object around angle argument multi-level single-level big-word braces brackets double_quote grave_quote indent paragraph around-parent angle braces brackets parenthesis parenthesis sentence single_quote slash word drop-non-whitespace end angle argument big-word braces brackets double_quote end-extending angle argument big-word braces brackets double_quote grave_quote indent paragraph count single end-extending-parent braces parenthesis sentence count single single_quote word grave_quote indent paragraph count single to-buffer-end parenthesis sentence count single to-buffer-end single_quote word inner angle argument multi-level single-level big-word braces brackets double_quote grave_quote indent paragraph parenthesis sentence single_quote slash word on-end around angle braces brackets parenthesis inner angle braces brackets parenthesis to-end angle braces brackets parenthesis on-start around angle braces brackets double_quote grave_quote parenthesis single_quote slash inner angle braces brackets double_quote grave_quote parenthesis single_quote to-start angle braces brackets parenthesis start angle argument big-word braces brackets double_quote start-extending angle argument big-word braces brackets double_quote grave_quote indent paragraph count single parenthesis sentence count single single_quote word grave_quote indent paragraph count single parenthesis sentence count single to-buffer-begin single_quote word open-above open-below open-multiple-above open-multiple-below paste-after paste-all-after paste-all-before paste-all-replace paste-before pipe pipe-reg pipe-to pipe-to-reg previous-big-word previous-big-word-extending previous-word previous-word-extending previous-word-no-underscore record-macro redo reload repeat-insert repeat-select repeat-end-paragraph repeat-find-char replace replace-lines replay-complex-insert replay-macro restore-selections rotate rotate-content save-selections search search-extending search-reverse search-reverse-extending search-reverse-rightmost missed-match overlap select select-horizontal-whitespace select-line split split-at-begin split-multiple-lines switch-case to-char-backward to-char-backward-extending to-char-forward to-char-forward-extending trim trim-drop-empty trim-lines table undo undo-after-replace-lines upper-case user-modes lock once yank prompt history-abort-previous history-navigate history-previous history-previous-prefix history-repeat-last history-stop-at-first regression 0-assert-on-itersel 0-autocomplete-overrules-completers 0-comment-after-command 0-compute-modified-range-crash 0-crash-on-backspace-at-buffer-begin 0-crash-on-BufSetOption-hook 0-crash-on-delete-buffer-BufClose 0-crash-on-pipe-with-selection-access 0-crash-on-specialy-crafted-modeline 0-deindent-on-mixed-indent-line 0-nothing-selected-on-prompt-initial-shift-tab 0-open-below-should-not-move-cursor-on-eol 0-replace-last-eol-with-eol 0-rotate-at-eof-mutates-selection 0-select-object-with-empty-begin-match 0-spurious-undo-group-on-external 0-undo-change-at-eof 1014-ambiguous-kak_selections 1051-crash-on-empty-param 1053-crash-on-deletion-and-paste 1074-comment-leader-autoinsert-error 1105-object-selection-behaviour 1111-unexpected-behaviour-on-new-line-in-comment 1118-misaligned-comment-start 1129-capture-groups-are-broken 1195-infinite-loop-in-regex-matching 1227-segfault-on-option-access 1233-corrent-cursor-handling-for-indent-objects 1275-replaced-range-split 1308-wrong-behaviour-of-kak-indent-on-newline 1382-column-highlighter-broken-on-horizontal-scroll 1433-scrolloff-broken-with-soft-wrap 1435-misplaced-cursor-with-show_matching-hl 1453-show_whitespaces-highlighter-breaks-tab-alignment 1459-assertion-on-wrapped-long-line 1469-assert-on-repeat-insert 1504-assertion-on-incorrect-pipe-use 1518-wrong-undo-handling-with-fifo-buffers 1525-lua-indent-error 1580-A-not-moving-to-eol 1680-crash-with-dot-and-alt-semicolon 1731-wrap-hidden-buffer 1741-scrolloff-hides-end-of-lines 1829-unicode-as-string-delimiter 1902-regex-lookbehind-ignore-before-current-pos 1904-select-empty-line-indent-gets-whole-buffer 1920-crash-on-python-in-docstring 1937-opening-missing-file-by-full-path-fails 1964-O-does-not-position-cursor-correctly 2030-custom-selection-nesting 2056-assert-on-small-window 2078-assert-on-restoring-invalid-selections 2129-inside-parentheses 2133-assert-on-rotate-contents 2245-wrap-long-word 2367-surround-with-tight-nesting 2420-discrepancy-in-star-behaviour 2499-html-regions-assert 2562-column-highlighter-bleeding 2711-weird-regex-highlighter-behaviour 2737-segfault-on-WinDisplay-hook 2755-segfault-on-double-wrap-highlighters 2861-backspace-merges-selections 2999-buggy-wrapping 3010-extra_word_chars-fails-with-other-buffers 3025-last-buffer-does-not-work-in-draft-context 3041-invalid-regex-highlight-accross-regions 3048-word-wrapping-broken 3219-scroll-json-ui 3270-crash-in-autocomplete 3275-crash-on-replace-at-buffer-start 3349-crash-in-completion 3388-command-line-parsing-does-not-preserve-invalid-utf8 3398-readonly-fifo-failure 3439-parse-ascii-newline-as-return 3472-crash-on-to-sentence-start 3478-crash-on-scroll 3489-crash-on-paragraph-begin 3495-crash-highlighting-hidden-lines 3544-capture-get-lost 3669-pipe-adds-extra-newline 3733-modeline-parsing-off-by-one-line 3735-modeline-arbitrary-code-execution 3757-crash-on-capture-group-select 3799-incorrect-region-match 3909-crash-on-closing-buffer-with-user-mapping 4052-replace-range-vs-whitespace-highlighter-interaction 4086-ruby-deindenting-other-lines-than-keywords 4378-line-explicit-completion-buggy 4414-crash-on-paste-all 4460-nul-byte-in-regex 4476-invalid-line-join 4519-regex-alternation-priority 4521-alt-mapping-broken-in-lower-case-modes 4601-int-min-arg 4605-fifo-hang 4659-scroll-issue-with-replace-ranges 4669-eol-highlight-to-column-highlighter 4674-show-whitespaces-horizontal-scroll-assert 4750-crash-on-append-empty-output-at-end-of-buffer 4753-assert-in-display-line-split 595-smart-search-unicode 612-assertion-with-NormalBegin-hook 633-spurious-new-line-inserted-when-replacing-at-end 638-highlight-codepoint-with-bracket 643-crash-on-a-@-on-specially-crafted-buffer 654-crash-on-undo-after-macro 699-to-eol-from-eol 704-crash-when-using-a-hook-on-NormalBegin-and-NormalEnd 733-selection-list-from-string-not-valid 743-crash-on-replace-undo 751-wrong-selection-after-undo 787-crash-after-S 809-alt-f-t-to-first-char 811-double-width-codepoints 844-prev-word-at-buffer-start 860-python-incorrect-commenting 872-indentation-misbeahviour-c++ 918-wrong-asterisk-inserted 921-keep-empty-line-matches-all-lines 993-user-text-object shell list-syntax prompt-shell-script-candidates prompt-shell-script-completion quoted-range Summary: 533 tests, 0 failures ~/build/BUILD/kakoune-2022.10.31 Processing files: kakoune-2022.10.31-4.fc38.riscv64 Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.t2MZnA + popd + RPM_EC=0 ++ jobs -p + exit 0 + umask 022 + cd /builddir/build/BUILD + cd kakoune-2022.10.31 + DOCDIR=/builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/share/doc/kakoune + export LC_ALL=C + LC_ALL=C + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/share/doc/kakoune + cp -pr README.asciidoc /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/share/doc/kakoune + cp -pr CONTRIBUTING /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/share/doc/kakoune + cp -pr VIMTOKAK /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/share/doc/kakoune + cp -pr doc/pages/changelog.asciidoc /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/share/doc/kakoune + RPM_EC=0 ++ jobs -p + exit 0 + umask 022 + cd /builddir/build/BUILD + cd kakoune-2022.10.31 + LICENSEDIR=/builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/share/licenses/kakoune + export LC_ALL=C + LC_ALL=C + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/share/licenses/kakoune + cp -pr UNLICENSE /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64/usr/share/licenses/kakoune + RPM_EC=0 ++ jobs -p + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.4QasZF Provides: kakoune = 2022.10.31-4.fc38 kakoune(riscv-64) = 2022.10.31-4.fc38 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: ld-linux-riscv64-lp64d.so.1()(64bit) ld-linux-riscv64-lp64d.so.1(GLIBC_2.27)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.27)(64bit) libc.so.6(GLIBC_2.33)(64bit) libc.so.6(GLIBC_2.34)(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libgcc_s.so.1(GCC_3.4)(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.14)(64bit) libstdc++.so.6(GLIBCXX_3.4.18)(64bit) libstdc++.so.6(GLIBCXX_3.4.19)(64bit) libstdc++.so.6(GLIBCXX_3.4.21)(64bit) libstdc++.so.6(GLIBCXX_3.4.22)(64bit) libstdc++.so.6(GLIBCXX_3.4.29)(64bit) libstdc++.so.6(GLIBCXX_3.4.30)(64bit) rtld(GNU_HASH) Processing files: kakoune-debugsource-2022.10.31-4.fc38.riscv64 Provides: kakoune-debugsource = 2022.10.31-4.fc38 kakoune-debugsource(riscv-64) = 2022.10.31-4.fc38 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Processing files: kakoune-debuginfo-2022.10.31-4.fc38.riscv64 Provides: debuginfo(build-id) = 62301be10f97351345b4566b720e686da081fce0 kakoune-debuginfo = 2022.10.31-4.fc38 kakoune-debuginfo(riscv-64) = 2022.10.31-4.fc38 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Recommends: kakoune-debugsource(riscv-64) = 2022.10.31-4.fc38 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64 Wrote: /builddir/build/RPMS/kakoune-debugsource-2022.10.31-4.fc38.riscv64.rpm Wrote: /builddir/build/RPMS/kakoune-2022.10.31-4.fc38.riscv64.rpm Wrote: /builddir/build/RPMS/kakoune-debuginfo-2022.10.31-4.fc38.riscv64.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.XZx7WC + umask 022 + cd /builddir/build/BUILD + cd kakoune-2022.10.31 + /usr/bin/rm -rf /builddir/build/BUILDROOT/kakoune-2022.10.31-4.fc38.riscv64 + RPM_EC=0 ++ jobs -p + exit 0 Executing(rmbuild): /bin/sh -e /var/tmp/rpm-tmp.y2ubFj + umask 022 + cd /builddir/build/BUILD + rm -rf kakoune-2022.10.31 kakoune-2022.10.31.gemspec + RPM_EC=0 ++ jobs -p + exit 0 Child return code was: 0