* Package: app-editors/kakoune-2022.10.31:0 * Repository: gentoo * Maintainer: mujo@sdf.org proxy-maint@gentoo.org * USE: abi_x86_64 amd64 elibc_musl kernel_linux userland_GNU * FEATURES: network-sandbox preserve-libs sandbox test userpriv usersandbox @@@@@ PLEASE PAY ATTENTION HERE!!! @@@@@ This information may help you to understand if this is a duplicate or if this bug exists after you pushed a fix; This ebuild was merged at the following commit: https://github.com/gentoo-mirror/gentoo/commit/db1ce7ccc72d227e0b96710d123e495bca24502d (Tue May 9 07:47:00 UTC 2023) @@@@@ END @@@@@ ################## # emerge --info: # ################## Portage 3.0.47 (python 3.11.3-final-0, default/linux/amd64/17.0/musl/hardened, gcc-13, musl-1.2.4, 5.15.85-gentoo-dist x86_64) ================================================================= System uname: Linux-5.15.85-gentoo-dist-x86_64-AMD_EPYC_7513_32-Core_Processor-with-libc KiB Mem: 263532996 total, 101557128 free KiB Swap: 0 total, 0 free Timestamp of repository gentoo: Tue, 09 May 2023 07:46:59 +0000 sh bash 5.2_p15-r2 ld GNU ld (Gentoo 2.40 p5) 2.40.0 app-misc/pax-utils: 1.3.7::gentoo app-shells/bash: 5.2_p15-r2::gentoo dev-lang/perl: 5.36.1-r1::gentoo dev-lang/python: 3.10.11::gentoo, 3.11.3::gentoo dev-util/cmake: 3.26.3::gentoo dev-util/meson: 1.1.0::gentoo sys-apps/baselayout: 2.13-r1::gentoo sys-apps/openrc: 0.47.1::gentoo sys-apps/sandbox: 2.30-r1::gentoo sys-devel/autoconf: 2.71-r6::gentoo sys-devel/automake: 1.16.5-r1::gentoo sys-devel/binutils: 2.40-r5::gentoo sys-devel/binutils-config: 5.5::gentoo sys-devel/gcc: 13.1.0-r1::gentoo sys-devel/gcc-config: 2.10::gentoo sys-devel/libtool: 2.4.7-r1::gentoo sys-devel/make: 4.4.1::gentoo sys-kernel/linux-headers: 6.3::gentoo (virtual/os-headers) sys-libs/musl: 1.2.4::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 volatile: True sync-rsync-verify-max-age: 24 sync-rsync-extra-opts: sync-rsync-verify-jobs: 1 sync-rsync-verify-metamanifest: yes ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* Unlicense" CBUILD="x86_64-gentoo-linux-musl" CFLAGS="-O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0" CHOST="x86_64-gentoo-linux-musl" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0" DISTDIR="/var/tmp/portage/app-editors/kakoune-2022.10.31/distdir" EMERGE_DEFAULT_OPTS="--with-bdeps=y -1 -k -b" ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME" FCFLAGS="-O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms sign split-log strict test unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0" GENTOO_MIRRORS="http://mirror.leaseweb.com/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo/ http://ftp.belnet.be/pub/rsync.gentoo.org/gentoo/ http://distfiles.gentoo.org" INSTALL_MASK="charset.alias /usr/share/locale/locale.alias" LANG="C.UTF8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0" LEX="flex" MAKEOPTS="-j16" PKGDIR="/root/tbci/binpkg" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" SHELL="/bin/bash" USE="acl amd64 bzip2 cet cli crypt debug dri elogind fortran hardened iconv ipv6 jumbo-build libglvnd libtirpc native-symlinks ncurses nls nptl openmp pam pcre pie readline seccomp split-usr ssl ssp test test-rust unicode xattr xtpax zlib" ABI_X86="64" ELIBC="musl" KERNEL="linux" USERLAND="GNU" Unset: ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS ############################## # emerge history (qlop -mv): # ############################## 2023-05-09T08:44:58 >>> app-editors/kakoune-2022.10.31 ####################################### # installed packages (qlist -ICvUSS): # ####################################### acct-group/audio-0-r1:0 acct-group/cdrom-0-r1:0 acct-group/dialout-0-r1:0 acct-group/disk-0-r1:0 acct-group/floppy-0:0 acct-group/input-0-r1:0 acct-group/kmem-0-r1:0 acct-group/kvm-0-r1:0 acct-group/lp-0-r1:0 acct-group/man-0-r1:0 acct-group/messagebus-0-r1:0 acct-group/portage-0:0 acct-group/render-0-r1:0 acct-group/root-0:0 acct-group/sgx-0:0 acct-group/sshd-0-r1:0 acct-group/tape-0-r1:0 acct-group/tty-0-r1:0 acct-group/usb-0-r1:0 acct-group/video-0-r1:0 acct-user/man-1-r1:0 acct-user/messagebus-0-r1:0 acct-user/portage-0:0 acct-user/sshd-0-r1:0 app-admin/eselect-1.4.22:0 -doc -emacs -vim-syntax app-admin/perl-cleaner-2.30-r1:0 -pkgcore app-alternatives/awk-4:0 -busybox gawk -mawk -nawk split-usr app-alternatives/bc-0:0 -gh gnu app-alternatives/bzip2-1:0 -lbzip2 -pbzip2 reference split-usr app-alternatives/cpio-0:0 gnu -libarchive split-usr app-alternatives/gzip-0:0 -pigz reference split-usr app-alternatives/lex-0-r1:0 flex -reflex app-alternatives/sh-0:0 bash -busybox -dash -ksh -lksh -mksh app-alternatives/tar-0:0 gnu -libarchive split-usr app-alternatives/yacc-1-r2:0 bison -byacc -reference app-arch/bzip2-1.0.8-r4:0/1 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 split-usr -static -static-libs -verify-sig app-arch/cpio-2.14:0 nls app-arch/gzip-1.12-r4:0 -pic -static -verify-sig app-arch/libarchive-3.6.2-r1:0/13 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 acl -blake2 bzip2 e2fsprogs -expat iconv -lz4 lzma -lzo -nettle -static-libs -verify-sig xattr -zstd app-arch/tar-1.34-r3:0 acl -minimal nls -selinux -verify-sig xattr app-arch/unzip-6.0_p27-r1:0 bzip2 -natspec unicode app-arch/xz-utils-5.4.3:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc extra-filters nls split-usr -static-libs -verify-sig app-arch/zstd-1.5.5:0/1 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -lz4 lzma split-usr -static-libs -test zlib app-crypt/gnupg-2.4.0:0 bzip2 -doc -ldap nls readline -selinux smartcard ssl -test tofu -tools -tpm -usb -user-socket -verify-sig -wks-server app-crypt/gpgme-1.20.0:1/11.6.15.2 -common-lisp cxx debug -python python_targets_python3_10 python_targets_python3_11 -qt5 -static-libs -test -verify-sig app-crypt/libb2-0.98.1-r3:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -native-cflags openmp -static-libs app-crypt/libmd-1.0.4:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 app-crypt/pinentry-1.2.1-r1:0 -caps -efl -emacs -gnome-keyring -gtk ncurses -qt5 -verify-sig app-crypt/rhash-1.4.3:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 debug nls ssl -static-libs app-editors/kakoune-2022.10.31:0 app-editors/nano-7.2:0 -debug -justify -magic -minimal ncurses nls spell -static unicode app-eselect/eselect-fontconfig-20220403:0 app-eselect/eselect-iptables-20220320:0 app-eselect/eselect-lib-bin-symlink-0.1.1-r1:0 app-eselect/eselect-pinentry-0.7.2-r1:0 app-misc/ca-certificates-20230311.3.89.1:0 -cacert app-misc/editor-wrapper-4-r1:0 app-misc/mime-types-2.1.53:0 -nginx app-misc/pax-utils-1.3.7:0 -caps -man -python -python_single_target_python3_10 python_single_target_python3_11 -seccomp -test app-misc/tmux-3.3a-r1:0 debug -selinux -systemd -utempter -vim-syntax app-portage/eix-0.36.6:0 debug -doc nls -sqlite app-portage/elt-patches-20221210:0 app-portage/gemato-20.2:0 gpg -pretty-log -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test -tools app-portage/gentoolkit-0.6.1-r3:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test app-portage/portage-utils-0.95:0 openmp qmanifest qtegrity -static app-shells/bash-5.2_p15-r2:0 -afs -bashlogger -examples -mem-scramble net nls -pgo -plugins readline -verify-sig app-shells/bash-completion-2.11:0 eselect -test app-shells/gentoo-bashcomp-20230313:0 app-shells/push-3.4:0 app-shells/quoter-4.2:0 app-text/ansifilter-2.18:0 -qt5 app-text/asciidoc-10.2.0:0 -python_single_target_pypy3 -python_single_target_python3_10 python_single_target_python3_11 app-text/build-docbook-catalog-2.4:0 app-text/docbook-xml-dtd-4.5-r2:4.5 app-text/docbook-xml-dtd-4.4-r3:4.4 app-text/docbook-xml-dtd-4.2-r3:4.2 app-text/docbook-xml-dtd-4.1.2-r7:4.1.2 app-text/docbook-xsl-ns-stylesheets-1.79.1:0 -ruby app-text/docbook-xsl-stylesheets-1.79.1-r4:0 -ruby app-text/manpager-1:0 app-text/sgml-common-0.6.3-r7:0 app-text/xmlto-0.0.28-r10:0 -latex text dev-db/sqlite-3.41.2-r1:3 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 debug -doc -icu readline -secure-delete -static-libs -tcl -test -tools dev-lang/perl-5.36.1-r1:0/5.36 -berkdb debug -doc -gdbm ithreads -minimal -quadmath dev-lang/python-3.11.3:3.11 -bluetooth -build ensurepip -examples gdbm hardened -libedit -lto ncurses -pgo readline sqlite ssl -test -tk -valgrind -verify-sig dev-lang/python-3.10.11:3.10 -bluetooth -build ensurepip -examples gdbm hardened -libedit -lto ncurses -pgo readline sqlite ssl -test -tk -valgrind -verify-sig xml dev-lang/python-exec-2.4.10:2 native-symlinks python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-lang/python-exec-conf-2.4.6:2 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 dev-lang/tcl-8.6.13-r1:0/8.6 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 debug threads dev-libs/boehm-gc-8.2.2-r1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -cxx large -static-libs threads dev-libs/elfutils-0.189-r1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 bzip2 -lzma nls -static-libs -test utils -valgrind -verify-sig -zstd dev-libs/expat-2.5.0:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -examples -static-libs unicode dev-libs/glib-2.76.2:2 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -dbus debug elf -gtk-doc mime -selinux -static-libs -sysprof -systemtap -test -utils xattr dev-libs/gmp-6.2.1-r5:0/10.4 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 asm cpudetection cxx -doc -pic -static-libs dev-libs/gobject-introspection-1.76.1:0 -doctool -gtk-doc -python_single_target_python3_10 python_single_target_python3_11 -test dev-libs/gobject-introspection-common-1.76.1:0 dev-libs/isl-0.24-r2:0/23 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs dev-libs/jsoncpp-1.9.5:0/25 -doc -test dev-libs/libassuan-2.5.5:0 dev-libs/libatomic_ops-7.8.0:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 dev-libs/libbsd-0.11.7-r2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs -verify-sig dev-libs/libevent-2.1.12-r1:0/2.1-7 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 clock-gettime debug -malloc-replacement ssl -static-libs -test -verbose-debug dev-libs/libffi-3.4.4-r1:0/8 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 debug -exec-static-trampoline -pax-kernel -static-libs -test dev-libs/libgcrypt-1.10.2:0/20 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 asm -cpu_flags_arm_aes -cpu_flags_arm_neon -cpu_flags_arm_sha1 -cpu_flags_arm_sha2 -cpu_flags_ppc_altivec -cpu_flags_ppc_vsx2 -cpu_flags_ppc_vsx3 cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 -cpu_flags_x86_padlock -cpu_flags_x86_sha cpu_flags_x86_sse4_1 -doc getentropy -static-libs -verify-sig dev-libs/libgpg-error-1.47:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -common-lisp nls -static-libs -test -verify-sig dev-libs/libksba-1.6.3:0 -static-libs -verify-sig dev-libs/libltdl-2.4.7-r1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs dev-libs/libpcre2-10.42-r1:0/3 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 bzip2 -jit -libedit pcre16 pcre32 readline split-usr -static-libs unicode -verify-sig zlib dev-libs/libpipeline-1.5.7:0 -test dev-libs/libtasn1-4.19.0:0/6 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs -test -valgrind -verify-sig dev-libs/libunistring-1.1-r1:0/5 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc -static-libs dev-libs/libuv-1.44.2-r1:0/1 dev-libs/libxml2-2.10.4:2 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -debug -examples ftp -icu -lzma python python_targets_python3_10 python_targets_python3_11 readline -static-libs -test dev-libs/libxslt-1.1.37-r1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 crypt debug -examples -python python_targets_python3_10 python_targets_python3_11 -static-libs dev-libs/lzo-2.10:2 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -examples split-usr -static-libs dev-libs/mpc-1.3.1:0/3 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs dev-libs/mpfr-4.2.0_p4:0/6 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs -verify-sig dev-libs/nettle-3.8.1:0/8-6 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 asm -cpu_flags_arm_aes -cpu_flags_arm_neon -cpu_flags_arm_sha1 -cpu_flags_arm_sha2 -cpu_flags_ppc_altivec cpu_flags_x86_aes cpu_flags_x86_pclmul -cpu_flags_x86_sha -doc gmp -static-libs -verify-sig dev-libs/npth-1.6-r1:0 -test dev-libs/openssl-3.0.8-r4:0/3 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 asm cpu_flags_x86_sse2 -fips -ktls -rfc3779 -sctp -static-libs -test -tls-compression -vanilla -verify-sig -verify-sig -weak-ssl-ciphers dev-libs/popt-1.19:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 nls -static-libs dev-perl/Encode-Locale-1.50.0-r1:0 -test dev-perl/File-BaseDir-0.90.0:0 -test dev-perl/File-DesktopEntry-0.220.0-r1:0 -test dev-perl/File-MimeInfo-0.300.0:0 -test dev-perl/IO-Socket-SSL-2.81.0:0 -examples -idn -test dev-perl/IPC-System-Simple-1.300.0:0 -test dev-perl/Locale-gettext-1.70.0-r1:0 -test dev-perl/Mozilla-CA-20999999-r1:0 -test dev-perl/Net-SSLeay-1.920.0-r1:0 -examples -examples -minimal -test dev-perl/URI-5.110.0:0 -test dev-python/autocommand-2.2.2:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/calver-2022.06.26:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/certifi-3021.3.16-r3:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/charset_normalizer-3.1.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/cython-0.29.34:0 debug -doc -emacs -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/editables-0.3:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/ensurepip-pip-23.1.2:0 dev-python/ensurepip-setuptools-67.7.2:0 dev-python/ensurepip-wheels-100:0 dev-python/flit_core-3.8.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/gentoo-common-1:0 dev-python/gpep517-13:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/hatchling-1.14.1:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/idna-3.4:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/inflect-6.0.4:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/installer-0.7.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/jaraco-context-4.3.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/jaraco-functools-3.6.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/jaraco-text-3.11.1:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/jinja-3.1.2:0 -doc -examples -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/markupsafe-2.1.2:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/more-itertools-9.1.0:0 -doc -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/nspektr-0.4.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/ordered-set-4.1.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/packaging-23.1:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/pathspec-0.11.1:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/platformdirs-3.5.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/pluggy-1.0.0-r2:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/pydantic-1.10.7:0 debug native-extensions -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/pyparsing-3.0.9:0 -examples -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/pypax-0.9.5-r1:0 debug -ptpax python_targets_python3_10 python_targets_python3_11 xtpax dev-python/PySocks-1.7.1-r2:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 dev-python/requests-2.30.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -socks5 -test test-rust dev-python/setuptools-67.7.2:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/setuptools-scm-7.1.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/six-1.16.0-r1:0 -doc -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/tomli-2.0.1-r1:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/trove-classifiers-2023.5.2:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/typing-extensions-4.5.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-python/urllib3-2.0.2:0 -brotli -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test -zstd dev-python/wheel-0.40.0:0 -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 -test dev-util/checkbashisms-2.22.2:0 dev-util/cmake-3.26.3:0 -doc -emacs ncurses -qt5 -test -test -verify-sig dev-util/desktop-file-utils-0.26-r2:0 -emacs dev-util/glib-utils-2.76.2:0 -python_single_target_python3_10 python_single_target_python3_11 dev-util/gperf-3.1-r1:0 dev-util/gtk-doc-am-1.33.2:0 dev-util/meson-1.1.0:0 python_targets_python3_10 python_targets_python3_11 -test dev-util/meson-format-array-0:0 python_targets_python3_10 python_targets_python3_11 dev-util/ninja-1.11.1-r2:0 -doc -emacs -test dev-util/pkgconf-1.8.1:0/3 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -test dev-util/re2c-2.2:0 debug -test dev-vcs/git-2.40.1:0 blksha1 -cgi curl -cvs -doc -gnome-keyring gpg -highlight iconv -mediawiki nls pcre -perforce -perl -python_single_target_python3_10 python_single_target_python3_11 safe-directory -selinux -subversion -test -tk webdav -xinetd media-fonts/liberation-fonts-2.1.5:0 -X -X -fontforge media-gfx/graphite2-1.3.14_p20210810-r3:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -perl -test media-libs/fontconfig-2.14.2-r2:1.0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc nls -test media-libs/freetype-2.13.0:2 -X -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 adobe-cff -brotli bzip2 cleartype-hinting debug -doc -fontforge harfbuzz -infinality png -static-libs -svg -utils media-libs/harfbuzz-7.2.0:0/6.0.0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 cairo debug -doc -experimental glib graphite -icu introspection -test truetype media-libs/libpng-1.6.39:0/16 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -apng -cpu_flags_arm_neon cpu_flags_x86_sse -static-libs net-dns/c-ares-1.19.0:0/2 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs -test -verify-sig net-dns/libidn2-2.3.4:0/2 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 nls -static-libs -verify-sig net-firewall/iptables-1.8.9:0/1.8.3 -conntrack -netlink -nftables -pcap split-usr -static-libs net-libs/gnutls-3.8.0:0/30.30 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -brotli cxx -dane -doc -examples idn nls openssl -pkcs11 seccomp -sslv2 -sslv3 -static-libs -test -test-full tls-heartbeat -tools -valgrind -verify-sig zlib -zstd net-libs/libmnl-1.0.5:0/0.2.0 -examples -verify-sig net-libs/nghttp2-1.52.0:0/1.14 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 debug -hpack-tools -jemalloc -static-libs -systemd -test -utils -xml net-misc/curl-8.0.1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 adns -alt-svc -brotli -curl_ssl_gnutls -curl_ssl_mbedtls -curl_ssl_nss curl_ssl_openssl -curl_ssl_rustls ftp -gnutls -gopher -hsts http2 -idn imap -kerberos -ldap -mbedtls -nghttp3 -nss openssl pop3 progress-meter -rtmp -rustls -samba smtp -ssh ssl -sslv3 -static-libs -telnet -test tftp -verify-sig -websockets -zstd net-misc/dhcpcd-10.0.1:0 debug embedded ipv6 -privsep udev net-misc/iputils-20221126-r1:0 arping -caps -clockdiff -doc filecaps -idn nls -test -tracepath net-misc/netifrc-0.7.4:0 dhcp net-misc/openssh-9.3_p1:0 -X -X509 -abi_mips_n32 -audit -debug -hpn -kerberos -ldns -libedit -livecd pam pie -sctp -security-key -selinux ssl -static -test -verify-sig -xmss net-misc/rsync-3.2.7-r2:0 acl -examples iconv -lz4 -python_single_target_python3_10 python_single_target_python3_11 -rrsync ssl -stunnel -system-zlib -verify-sig xattr -xxhash -zstd net-misc/wget-1.21.3-r1:0 -cookie-check debug -gnutls -idn ipv6 -metalink nls -ntlm pcre ssl -static -test -uuid -verify-sig zlib perl-core/File-Temp-0.231.100:0 sec-keys/openpgp-keys-gentoo-release-20230329:0 -test sys-apps/acl-2.3.1-r2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 nls split-usr -static-libs sys-apps/attr-2.5.1-r2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 debug nls split-usr -static-libs sys-apps/baselayout-2.13-r1:0 -build split-usr sys-apps/coreutils-9.3-r1:0 acl -caps -gmp -hostname -kill -multicall nls openssl -selinux split-usr -static -test -vanilla -verify-sig xattr sys-apps/dbus-1.15.4-r1:0 -X -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 debug -doc elogind -selinux -static-libs -systemd -test -test sys-apps/debianutils-5.7:0 installkernel -static sys-apps/diffutils-3.9-r1:0 nls -verify-sig sys-apps/elfix-0.9.5:0 -ptpax xtpax sys-apps/file-5.44-r3:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 bzip2 -lzip -lzma -python python_targets_python3_10 python_targets_python3_11 -seccomp -static-libs -verify-sig zlib -zstd sys-apps/findutils-4.9.0-r2:0 nls -selinux -static -test -verify-sig sys-apps/gawk-5.2.1:0 -mpfr nls -pma readline -verify-sig sys-apps/gentoo-functions-0.19:0 sys-apps/grep-3.10:0 egrep-fgrep nls pcre -static -verify-sig sys-apps/groff-1.22.4:0 -X -examples -uchardet sys-apps/help2man-1.49.3:0 nls sys-apps/install-xattr-0.8-r1:0 sys-apps/iproute2-6.3.0:0 -atm -berkdb -bpf -caps -elf iptables -libbsd -minimal -nfs -selinux split-usr sys-apps/kbd-2.5.1:0 nls pam -test sys-apps/kmod-30-r1:0 debug -doc lzma -pkcs7 -python python_targets_python3_10 python_targets_python3_11 -static-libs tools zlib zstd sys-apps/less-633:0 pcre sys-apps/man-db-2.11.2:0 manpager -nls seccomp -selinux -static-libs zlib sys-apps/miscfiles-1.5-r4:0 -minimal sys-apps/net-tools-2.10:0 arp hostname ipv6 -nis nls -plipconfig -selinux -slattach -static sys-apps/openrc-0.47.1:0 -audit -bash debug ncurses netifrc -newnet pam -selinux -sysv-utils unicode sys-apps/portage-3.0.47:0 -apidoc -build debug -doc -gentoo-dev ipc native-extensions -python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 rsync-verify -selinux -test xattr sys-apps/sandbox-2.30-r1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 nnp sys-apps/sed-4.9:0 acl nls -selinux -static -verify-sig sys-apps/shadow-4.13-r3:0/4 acl -audit -bcrypt -cracklib nls pam -selinux -skey split-usr -su -verify-sig xattr sys-apps/systemd-utils-252.9:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 acl -boot kmod -selinux split-usr -split-usr -sysusers -test tmpfiles udev sys-apps/sysvinit-3.07:0 -ibm -nls -selinux -static -verify-sig sys-apps/texinfo-7.0.3:0 nls standalone -static sys-apps/util-linux-2.38.1-r2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -audit -build -caps cramfs -cryptsetup -fdformat hardlink -kill logger -magic ncurses nls pam -python python_targets_python3_10 python_targets_python3_11 readline -rtas -selinux -slang split-usr -static-libs su suid -systemd -test -tty-helpers -udev unicode -verify-sig sys-apps/which-2.21:0 sys-auth/elogind-246.10-r3:0 acl -audit cgroup-hybrid debug -doc pam -policykit -selinux -test sys-auth/pambase-20220214:0 -caps -debug elogind -gnome-keyring -homed -minimal -mktemp nullok -pam_krb5 -pam_ssh passwdqc -pwhistory -pwquality -securetty -selinux sha512 -systemd -yescrypt sys-auth/passwdqc-2.0.2-r1:0 sys-devel/autoconf-2.71-r6:2.71 -emacs sys-devel/autoconf-archive-2023.02.20:0 sys-devel/autoconf-wrapper-20221207-r1:0 sys-devel/automake-1.16.5-r1:1.16 -test sys-devel/automake-wrapper-20221207:0 sys-devel/bc-1.07.1-r6:0 -libedit readline -static sys-devel/binutils-2.40-r5:2.40 cet -doc -gold -gprofng -multitarget nls -pgo plugins -static-libs -test -vanilla -zstd sys-devel/binutils-config-5.5:0 native-symlinks sys-devel/bison-3.8.2-r2:0 -examples nls -static -test -verify-sig sys-devel/flex-2.6.4-r6:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 nls -static -test sys-devel/gcc-13.1.0-r1:13 -ada cet -custom-cflags cxx -d -debug default-stack-clash-protection default-znow -doc -fixed-point fortran -go graphite hardened -ieee-long-double -jit -libssp lto -modula2 -multilib -nls nptl -objc -objc++ -objc-gc openmp -pch -pgo pie -sanitize ssp -systemtap -test -valgrind -vanilla -vtv -zstd sys-devel/gcc-config-2.10:0 cc-wrappers native-symlinks sys-devel/gettext-0.21.1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 acl cxx -doc -emacs -git -java -java ncurses -nls openmp -static-libs -verify-sig sys-devel/gnuconfig-20230121:0 sys-devel/libtool-2.4.7-r1:2 -vanilla sys-devel/m4-1.4.19-r1:0 -examples nls -verify-sig sys-devel/make-4.4.1:0 -guile nls -static -verify-sig sys-devel/patch-2.7.6-r5:0 -static -test -verify-sig xattr sys-fs/e2fsprogs-1.47.0-r1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -cron -fuse -nls split-usr -static-libs -test tools sys-fs/udev-init-scripts-35:0 sys-kernel/dracut-059:0 -selinux -test sys-kernel/gentoo-kernel-bin-6.2.14:6.2.14 initramfs -test sys-kernel/installkernel-gentoo-7:0 -grub sys-kernel/linux-headers-6.3:0 -headers-only sys-libs/argp-standalone-1.5.0:0 -static-libs sys-libs/fts-standalone-1.2.7:0 -static-libs sys-libs/gdbm-1.23:0/6 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 berkdb nls readline -static-libs -test -verify-sig sys-libs/libcap-2.68:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 pam split-usr -static-libs -tools sys-libs/libseccomp-2.5.4:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -experimental-loong -python python_targets_python3_10 python_targets_python3_11 -static-libs -test sys-libs/libxcrypt-4.4.33:0/1 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 compat -headers-only split-usr -static-libs system -test sys-libs/musl-1.2.4:0 -crypt -headers-only split-usr -verify-sig sys-libs/ncurses-6.4_p20230401:0/6 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -ada cxx debug -doc -gpm -minimal -profile split-usr -split-usr -stack-realign -static-libs -test tinfo -trace -verify-sig sys-libs/obstack-standalone-1.2.3:0 -static-libs sys-libs/pam-1.5.2-r3:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -audit -berkdb -debug -filecaps -nis -selinux split-usr sys-libs/queue-standalone-0.1-r1:0 sys-libs/readline-8.2_p1:0/8 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 split-usr -static-libs unicode -utils -verify-sig sys-libs/zlib-1.2.13-r1:0/1 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 minizip split-usr -static-libs -verify-sig sys-process/procps-3.3.17-r1:0/8 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 elogind kill -modern-top ncurses nls -selinux split-usr -static-libs -systemd -test unicode sys-process/psmisc-23.6:0 -X -apparmor nls -selinux -test virtual/acl-0-r2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs virtual/dev-manager-0-r2:0 virtual/dist-kernel-6.2.14:0/6.2.14 virtual/editor-0-r5:0 virtual/libc-1-r1:0 virtual/libcrypt-2-r1:0/2 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -static-libs virtual/libelf-3-r1:0/1 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 virtual/libiconv-0-r2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 virtual/libintl-0-r2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 virtual/libudev-232-r7:0/1 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -systemd virtual/man-0-r4:0 virtual/os-headers-0-r2:0 virtual/package-manager-1:0 virtual/pager-0-r1:0 virtual/perl-Carp-1.520.0-r2:0 virtual/perl-CPAN-2.330.0:0 virtual/perl-Data-Dumper-2.184.0:0 virtual/perl-Encode-3.170.0:0 virtual/perl-Exporter-5.770.0:0 virtual/perl-ExtUtils-MakeMaker-7.640.0:0 virtual/perl-File-Path-2.180.0-r1:0 virtual/perl-File-Spec-3.840.0:0 virtual/perl-File-Temp-0.231.100:0 virtual/perl-Getopt-Long-2.520.0-r1:0 virtual/perl-libnet-3.140.0:0 ssl virtual/perl-MIME-Base64-3.160.0-r1:0 virtual/perl-parent-0.238.0-r2:0 virtual/perl-Scalar-List-Utils-1.620.0:0 virtual/perl-Test-Harness-3.440.0:0 virtual/pkgconfig-2-r1:0 virtual/service-manager-1-r1:0 virtual/ssh-0-r1:0 -minimal virtual/tmpfiles-0-r3:0 virtual/ttf-fonts-1-r2:0 virtual/udev-217-r5:0 virtual/w3m-1:0 www-client/pybugz-0.13-r2:0 python_targets_python3_10 python_targets_python3_11 www-client/w3m-0.5.3_p20230121:0 -X -fbcon -gdk-pixbuf -gpm -imlib l10n_ja -lynxkeymap nls -nntp ssl unicode -xface x11-apps/xprop-1.2.6:0 x11-apps/xset-1.2.5:0 x11-base/xcb-proto-1.15.2:0 python_targets_python3_10 python_targets_python3_11 x11-base/xorg-proto-2022.2:0 -test x11-libs/cairo-1.17.8:0 -X -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -aqua -debug glib -gtk-doc -test x11-libs/libICE-1.1.1-r1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 x11-libs/libSM-1.2.4:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc uuid x11-libs/libX11-1.8.4-r1:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc -test x11-libs/libXau-1.0.11:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc x11-libs/libxcb-1.15-r1:0/1.12 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc -doc -selinux -test xkb x11-libs/libXdmcp-1.1.4-r2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc x11-libs/libXext-1.3.5:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc x11-libs/libXmu-1.1.4:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc x11-libs/libXt-1.3.0:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -doc -test x11-libs/pixman-0.42.2:0 -abi_mips_n32 -abi_mips_n64 -abi_mips_o32 -abi_s390_32 -abi_s390_64 -abi_x86_32 abi_x86_64 -abi_x86_x32 -cpu_flags_arm_iwmmxt -cpu_flags_arm_iwmmxt2 -cpu_flags_arm_neon -cpu_flags_ppc_altivec cpu_flags_x86_mmxext cpu_flags_x86_sse2 cpu_flags_x86_ssse3 -loongson2f -static-libs -test x11-libs/xtrans-1.4.0:0 -doc x11-misc/compose-tables-1.8.4-r1:0 x11-misc/shared-mime-info-2.2:0 -test x11-misc/xdg-utils-1.1.3_p20210805-r1:0 -dbus -doc -gnome ####################### # build.log # ####################### >>> Unpacking source... >>> Unpacking kakoune-2022.10.31.tar.bz2 to /var/tmp/portage/app-editors/kakoune-2022.10.31/work >>> Source unpacked in /var/tmp/portage/app-editors/kakoune-2022.10.31/work >>> Preparing source in /var/tmp/portage/app-editors/kakoune-2022.10.31/work/kakoune-2022.10.31 ... * Applying kakoune-2022.10.31-gcc13.patch ... patching file src/keys.hh Hunk #1 succeeded at 9 with fuzz 1. patching file src/ranked_match.hh [ ok ] >>> Source prepared. >>> Configuring source in /var/tmp/portage/app-editors/kakoune-2022.10.31/work/kakoune-2022.10.31 ... >>> Source configured. >>> Compiling source in /var/tmp/portage/app-editors/kakoune-2022.10.31/work/kakoune-2022.10.31 ... make -j16 -C src all make: Entering directory '/var/tmp/portage/app-editors/kakoune-2022.10.31/work/kakoune-2022.10.31/src' x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 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 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) 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::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) 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() >= 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 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) 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 Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.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 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) 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.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) 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_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.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 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) 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) 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) 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 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) 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) x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 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_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.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) x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 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) 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) x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 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::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.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 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) 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::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) 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_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.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) 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; ColumnType = 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 | eturn 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) 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 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) 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) 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) 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) 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) 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::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) 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: 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; | ^~~~~~~~ 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: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:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto 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) coord.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::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) x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 commands.cc: In lambda function: commands.cc:2609:50: warning: redundant move in initialization [-Wredundant-move[https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-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[https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wredundant-move]] 2665 | enter_user_mode(context, std::move(parser[0]), mode, lock); | ~~~~~~~~~^~~~~~~~~~~ commands.cc:2665:43: note: remove 'std::move' call x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 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[https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wredundant-move]] 389 | buffer = create_buffer_from_string(std::move(name), flags, {}); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ commands.cc:389:47: note: remove 'std::move' call x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 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[https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wredundant-move]] commands.cc:389:47: note: remove 'std::move' call 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) x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 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) x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 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) 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 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) 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) x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 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) 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::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.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) 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 | f (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 | s_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) x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 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) 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() | ^ coord.hh:45:20: note: candidate 1: 'constexpr auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.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) 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) 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_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) 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) 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) 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) 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) 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 | [](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 | > 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) x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 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 | .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 | 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) 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) 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) x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -pedantic -std=c++2a -g -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-address -Wno-init-list-lifetime -MD -MP -MF .memory.opt.d -c -o .memory.opt.o memory.cc 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 | (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 | t 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 | t 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 | t 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) x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 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) x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 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/lib/gcc/x86_64-gentoo-linux-musl/13/include/g++-v13/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/lib/gcc/x86_64-gentoo-linux-musl/13/include/g++-v13/bits/stl_algobase.h:1472: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/lib/gcc/x86_64-gentoo-linux-musl/13/include/g++-v13/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 | nge, 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/lib/gcc/x86_64-gentoo-linux-musl/13/include/g++-v13/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/lib/gcc/x86_64-gentoo-linux-musl/13/include/g++-v13/bits/stl_algobase.h:2072: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/lib/gcc/x86_64-gentoo-linux-musl/13/include/g++-v13/bits/stl_algobase.h:2117:23: required from 'constexpr _Iterator std::__find_if(_Iterator, _Iterator, _Predicate) [with _Iterator = const Kakoune::Buffer::Change*; _Predicate = __gnu_cxx::__ops::_Iter_pred >]' /usr/lib/gcc/x86_64-gentoo-linux-musl/13/include/g++-v13/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/lib/gcc/x86_64-gentoo-linux-musl/13/include/g++-v13/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/lib/gcc/x86_64-gentoo-linux-musl/13/include/g++-v13/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 | f (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) 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) x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 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) 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/lib/gcc/x86_64-gentoo-linux-musl/13/include/g++-v13/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/lib/gcc/x86_64-gentoo-linux-musl/13/include/g++-v13/bits/stl_algobase.h:1472: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/lib/gcc/x86_64-gentoo-linux-musl/13/include/g++-v13/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 | nge, 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 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<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.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) x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 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 auto Kakoune::LineAndColumn::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) 45 | constexpr auto operator<=> (EffectiveType other) const | ^~~~~~~~ coord.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) x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 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) x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 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) x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 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; | ^~~~~~~~~~ x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 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) x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 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) 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) 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) 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.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) x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 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) 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) 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) 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.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.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) selection.cc:190:81: warning: C++20 says that these are ambiguous, even though the second is reversed: 190 | urn 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) 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 | t (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) 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) 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) 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) 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) 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) 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) 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) changes.hh: In instantiation of 'Kakoune::update_forward > >(ConstArrayView, std::vector >&):: [with auto:69 = Kakoune::Selection]': /usr/lib/gcc/x86_64-gentoo-linux-musl/13/include/g++-v13/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/lib/gcc/x86_64-gentoo-linux-musl/13/include/g++-v13/bits/stl_algobase.h:1472: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/lib/gcc/x86_64-gentoo-linux-musl/13/include/g++-v13/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 | nge, 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 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) x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 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) x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 x86_64-gentoo-linux-musl-g++ -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 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) 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) x86_64-gentoo-linux-musl-g++ -Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0 -rdynamic -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -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 ln -sf kak.opt kak make: Leaving directory '/var/tmp/portage/app-editors/kakoune-2022.10.31/work/kakoune-2022.10.31/src' >>> Source compiled. >>> Test phase: app-editors/kakoune-2022.10.31 make -j16 -C src test make: Entering directory '/var/tmp/portage/app-editors/kakoune-2022.10.31/work/kakoune-2022.10.31/src' ln -sf kak.opt kak cd ../test && ./run kak-tests.bxF7F2Vt 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 ./enabled: line 2: locale: command not found select-display-columns (disabled) select-timestamp selections_char_desc-expansion undo-multi-replace-at-end ./enabled: line 2: locale: command not found unicode (disabled) 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 ./enabled: line 2: locale: command not found tab-width (disabled) ./enabled: line 2: locale: command not found vertical-movement (disabled) 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 goto-extending buffer-bottom buffer-end buffer-top last-change line-begin line-end buffer-bottom buffer-end buffer-top 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 around-parent angle braces brackets parenthesis angle argument multi-level single-level big-word braces brackets double_quote grave_quote indent paragraph parenthesis sentence single_quote slash word drop-non-whitespace end end-extending end-extending-parent braces angle argument big-word braces brackets double_quote grave_quote indent paragraph count single parenthesis sentence count single single_quote word angle argument big-word braces brackets double_quote 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 start-extending angle argument big-word braces brackets double_quote grave_quote indent paragraph count single parenthesis sentence count single single_quote word angle argument big-word braces brackets double_quote 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-BufSetOption-hook 0-crash-on-backspace-at-buffer-begin 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 ./enabled: line 2: locale: command not found 811-double-width-codepoints (disabled) 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: 528 tests, 0 failures make: Leaving directory '/var/tmp/portage/app-editors/kakoune-2022.10.31/work/kakoune-2022.10.31/src' >>> Completed testing app-editors/kakoune-2022.10.31 >>> Install app-editors/kakoune-2022.10.31 into /var/tmp/portage/app-editors/kakoune-2022.10.31/image make -j16 PREFIX=/var/tmp/portage/app-editors/kakoune-2022.10.31/image/usr docdir=/var/tmp/portage/app-editors/kakoune-2022.10.31/image/usr/share/doc/kakoune-2022.10.31 install make -C src Makefile make[1]: Entering directory '/var/tmp/portage/app-editors/kakoune-2022.10.31/work/kakoune-2022.10.31/src' make[1]: Nothing to be done for 'Makefile'. make[1]: Leaving directory '/var/tmp/portage/app-editors/kakoune-2022.10.31/work/kakoune-2022.10.31/src' make -C src install make[1]: Entering directory '/var/tmp/portage/app-editors/kakoune-2022.10.31/work/kakoune-2022.10.31/src' gzip -n -9 -f < ../doc/kak.1 > ../doc/kak.1.gz install -d /var/tmp/portage/app-editors/kakoune-2022.10.31/image/usr/bin \ /var/tmp/portage/app-editors/kakoune-2022.10.31/image/usr/libexec/kak \ /var/tmp/portage/app-editors/kakoune-2022.10.31/image/usr/share/kak/rc \ /var/tmp/portage/app-editors/kakoune-2022.10.31/image/usr/share/kak/colors \ /var/tmp/portage/app-editors/kakoune-2022.10.31/image/usr/share/kak/doc \ /var/tmp/portage/app-editors/kakoune-2022.10.31/image/usr/share/doc/kakoune-2022.10.31 \ /var/tmp/portage/app-editors/kakoune-2022.10.31/image/usr/share/man/man1 ln -sf kak.opt kak install -m 0755 kak /var/tmp/portage/app-editors/kakoune-2022.10.31/image/usr/bin ln -sf ../../bin/kak /var/tmp/portage/app-editors/kakoune-2022.10.31/image/usr/libexec/kak/kak install -m 0644 ../share/kak/kakrc /var/tmp/portage/app-editors/kakoune-2022.10.31/image/usr/share/kak install -m 0644 ../doc/pages/*.asciidoc /var/tmp/portage/app-editors/kakoune-2022.10.31/image/usr/share/kak/doc cp -r ../rc/* /var/tmp/portage/app-editors/kakoune-2022.10.31/image/usr/share/kak/rc find /var/tmp/portage/app-editors/kakoune-2022.10.31/image/usr/share/kak/rc -type f -exec chmod 0644 {} + [ -e /var/tmp/portage/app-editors/kakoune-2022.10.31/image/usr/share/kak/autoload ] || ln -s rc /var/tmp/portage/app-editors/kakoune-2022.10.31/image/usr/share/kak/autoload install -m 0644 ../colors/* /var/tmp/portage/app-editors/kakoune-2022.10.31/image/usr/share/kak/colors install -m 0644 ../README.asciidoc /var/tmp/portage/app-editors/kakoune-2022.10.31/image/usr/share/doc/kakoune-2022.10.31 install -m 0644 ../doc/kak.1.gz /var/tmp/portage/app-editors/kakoune-2022.10.31/image/usr/share/man/man1 make[1]: Leaving directory '/var/tmp/portage/app-editors/kakoune-2022.10.31/work/kakoune-2022.10.31/src' >>> Completed installing app-editors/kakoune-2022.10.31 into /var/tmp/portage/app-editors/kakoune-2022.10.31/image * Final size of build directory: 134360 KiB (131.2 MiB) * Final size of installed tree: 51656 KiB ( 50.4 MiB) * QA Notice: command not found: * * ./enabled: line 2: locale: command not found * ./enabled: line 2: locale: command not found * ./enabled: line 2: locale: command not found * ./enabled: line 2: locale: command not found * ./enabled: line 2: locale: command not found strip: x86_64-gentoo-linux-musl-strip --strip-unneeded -N __gentoo_check_ldflags__ -R .comment -R .GCC.command.line -R .note.gnu.gold-version /usr/bin/kak >>> Done.