Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 861376 Details for
Bug 906015
app-editors/kakoune-2023.08.05 calls commands that do not exist (MUSL-SYSTEM): locale
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
build.log
build.log (text/plain), 593.39 KB, created by
Agostino Sarubbo
on 2023-05-09 08:58:37 UTC
(
hide
)
Description:
build.log
Filename:
MIME Type:
Creator:
Agostino Sarubbo
Created:
2023-05-09 08:58:37 UTC
Size:
593.39 KB
patch
obsolete
> * 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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<BufferCoord>&, const Range<BufferCoord>&)': >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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<T>::operator==(const Kakoune::Optional<T>&) const [with T = Kakoune::DisplayCoord]': >optional.hh:60:67: required from 'bool Kakoune::Optional<T>::operator!=(const Kakoune::Optional<T>&) 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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<Kakoune::RegexMatch, Kakoune::Allocator<Kakoune::RegexMatch, Kakoune::MemoryDomain::Regions> >::const_iterator Kakoune::RegionsHighlighter::find_matching_end(const Kakoune::Buffer&, Kakoune::BufferCoord, const Kakoune::RegexMatchList&, const Kakoune::RegexMatchList&, Kakoune::Optional<Kakoune::StringView>) 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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) >highlighters.cc: In member function 'Kakoune::Optional<std::pair<long unsigned int, __gnu_cxx::__normal_iterator<const Kakoune::RegexMatch*, std::vector<Kakoune::RegexMatch, Kakoune::Allocator<Kakoune::RegexMatch, Kakoune::MemoryDomain::Regions> > > > > 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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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()::<lambda(const Kakoune::SelectionList&, const Kakoune::OptionManager&, const Kakoune::FaceRegistry&)>]': >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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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 = <lambda(const Face&)>::<lambda(DisplayAtom&)>]': >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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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)::<lambda(DisplayLine&, DisplayLine::iterator)>]': >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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<BufferCoord>; AdvanceFunc = update_forward<std::vector<Range<BufferCoord>, Allocator<Range<BufferCoord>, Kakoune::MemoryDomain::Undefined> > >(ConstArrayView<Buffer::Change>, std::vector<Range<BufferCoord>, Allocator<Range<BufferCoord>, Kakoune::MemoryDomain::Undefined> >&)::<lambda(const BufferCoord&)>&]': >changes.hh:59:21: required from 'void Kakoune::update_forward(ConstArrayView<Buffer::Change>, RangeContainer&) [with RangeContainer = std::vector<Range<BufferCoord>, Allocator<Range<BufferCoord>, Kakoune::MemoryDomain::Undefined> >; ConstArrayView<Buffer::Change> = ArrayView<const Buffer::Change>]' >changes.hh:98:27: required from 'void Kakoune::update_ranges(Buffer&, size_t&, RangeContainer&&) [with RangeContainer = std::vector<Range<BufferCoord>, Allocator<Range<BufferCoord>, 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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<BufferCoord>; AdvanceFunc = update_backward<std::vector<Range<BufferCoord>, Allocator<Range<BufferCoord>, Kakoune::MemoryDomain::Undefined> > >(ConstArrayView<Buffer::Change>, std::vector<Range<BufferCoord>, Allocator<Range<BufferCoord>, Kakoune::MemoryDomain::Undefined> >&)::<lambda(const BufferCoord&)>&]': >changes.hh:81:21: required from 'void Kakoune::update_backward(ConstArrayView<Buffer::Change>, RangeContainer&) [with RangeContainer = std::vector<Range<BufferCoord>, Allocator<Range<BufferCoord>, Kakoune::MemoryDomain::Undefined> >; ConstArrayView<Buffer::Change> = ArrayView<const Buffer::Change>]' >changes.hh:103:28: required from 'void Kakoune::update_ranges(Buffer&, size_t&, RangeContainer&&) [with RangeContainer = std::vector<Range<BufferCoord>, Allocator<Range<BufferCoord>, 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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<std::vector<Range<BufferCoord>, Allocator<Range<BufferCoord>, Kakoune::MemoryDomain::Undefined> > >(ConstArrayView<Buffer::Change>, std::vector<Range<BufferCoord>, Allocator<Range<BufferCoord>, Kakoune::MemoryDomain::Undefined> >&)::<lambda(auto:69&, const Kakoune::Buffer::Change&)> [with auto:69 = Kakoune::Range<Kakoune::BufferCoord>]': >/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<Kakoune::Range<Kakoune::BufferCoord>*, std::vector<Kakoune::Range<Kakoune::BufferCoord>, Kakoune::Allocator<Kakoune::Range<Kakoune::BufferCoord>, Kakoune::MemoryDomain::Undefined> > >; _Value = const Kakoune::Buffer::Change; _Compare = Kakoune::update_forward<std::vector<Range<BufferCoord>, Allocator<Range<BufferCoord>, Kakoune::MemoryDomain::Undefined> > >(ConstArrayView<Buffer::Change>, std::vector<Range<BufferCoord>, Allocator<Range<BufferCoord>, Kakoune::MemoryDomain::Undefined> >&)::<lambda(auto:69&, const Kakoune::Buffer::Change&)>]' >/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<Kakoune::Range<Kakoune::BufferCoord>*, vector<Kakoune::Range<Kakoune::BufferCoord>, Kakoune::Allocator<Kakoune::Range<Kakoune::BufferCoord>, Kakoune::MemoryDomain::Undefined> > >; _Tp = Kakoune::Buffer::Change; _Compare = __gnu_cxx::__ops::_Iter_comp_val<Kakoune::update_forward<std::vector<Range<BufferCoord>, Allocator<Range<BufferCoord>, Kakoune::MemoryDomain::Undefined> > >(ConstArrayView<Buffer::Change>, std::vector<Range<BufferCoord>, Allocator<Range<BufferCoord>, Kakoune::MemoryDomain::Undefined> >&)::<lambda(auto:69&, const Kakoune::Buffer::Change&)> >]' >/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<Kakoune::Range<Kakoune::BufferCoord>*, vector<Kakoune::Range<Kakoune::BufferCoord>, Kakoune::Allocator<Kakoune::Range<Kakoune::BufferCoord>, Kakoune::MemoryDomain::Undefined> > >; _Tp = Kakoune::Buffer::Change; _Compare = Kakoune::update_forward<std::vector<Range<BufferCoord>, Allocator<Range<BufferCoord>, Kakoune::MemoryDomain::Undefined> > >(ConstArrayView<Buffer::Change>, std::vector<Range<BufferCoord>, Allocator<Range<BufferCoord>, Kakoune::MemoryDomain::Undefined> >&)::<lambda(auto:69&, const Kakoune::Buffer::Change&)>]' >changes.hh:56:37: required from 'void Kakoune::update_forward(ConstArrayView<Buffer::Change>, RangeContainer&) [with RangeContainer = std::vector<Range<BufferCoord>, Allocator<Range<BufferCoord>, Kakoune::MemoryDomain::Undefined> >; ConstArrayView<Buffer::Change> = ArrayView<const Buffer::Change>]' >changes.hh:98:27: required from 'void Kakoune::update_ranges(Buffer&, size_t&, RangeContainer&&) [with RangeContainer = std::vector<Range<BufferCoord>, Allocator<Range<BufferCoord>, 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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<T>::empty() const [with T = Kakoune::BufferCoord]': >insert_completer.cc:498:87: required from 'Kakoune::InsertCompleter::reset()::<lambda(auto:81&&)> [with auto:81 = Kakoune::Range<Kakoune::BufferCoord>&]' >ranges.hh:158:53: required from 'void Kakoune::FilterView<Range, Filter>::Iterator::do_filter() [with Range = std::vector<Kakoune::Range<Kakoune::BufferCoord>, Kakoune::Allocator<Kakoune::Range<Kakoune::BufferCoord>, Kakoune::MemoryDomain::Undefined> >&; Filter = Kakoune::InsertCompleter::reset()::<lambda(auto:81&&)>]' >ranges.hh:140:42: required from 'Kakoune::FilterView<Range, Filter>::Iterator& Kakoune::FilterView<Range, Filter>::Iterator::operator++() [with Range = std::vector<Kakoune::Range<Kakoune::BufferCoord>, Kakoune::Allocator<Kakoune::Range<Kakoune::BufferCoord>, Kakoune::MemoryDomain::Undefined> >&; Filter = Kakoune::InsertCompleter::reset()::<lambda(auto:81&&)>]' >ranges.hh:254:34: required from 'Kakoune::TransformView<Range, Transform>::Iterator& Kakoune::TransformView<Range, Transform>::Iterator::operator++() [with Range = Kakoune::FilterView<std::vector<Kakoune::Range<Kakoune::BufferCoord>, Kakoune::Allocator<Kakoune::Range<Kakoune::BufferCoord>, Kakoune::MemoryDomain::Undefined> >&, Kakoune::InsertCompleter::reset()::<lambda(auto:81&&)> >; Transform = Kakoune::InsertCompleter::reset()::<lambda(auto:82&&)>]' >string_utils.hh:38:5: required from 'Kakoune::String Kakoune::join(const Container&, char, bool) [with Container = TransformView<FilterView<std::vector<Range<BufferCoord>, Allocator<Range<BufferCoord>, Kakoune::MemoryDomain::Undefined> >&, InsertCompleter::reset()::<lambda(auto:81&&)> >, InsertCompleter::reset()::<lambda(auto:82&&)> >]' >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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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)::<lambda(auto:78&&)> [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)::<lambda(auto:78&&)>]' >/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<Kakoune::{anonymous}::complete_option(const Kakoune::SelectionList&, const Kakoune::OptionManager&, const Kakoune::FaceRegistry&, Kakoune::StringView)::<lambda(auto:78&&)> >]' >/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<Kakoune::{anonymous}::complete_option(const Kakoune::SelectionList&, const Kakoune::OptionManager&, const Kakoune::FaceRegistry&, Kakoune::StringView)::<lambda(auto:78&&)> >]' >/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)::<lambda(auto:78&&)>]' >/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)::<lambda(auto:78&&)>]' >/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)::<lambda(auto:78&&)>]' >ranges.hh:589:23: required from 'bool Kakoune::any_of(Range&&, T) [with Range = ArrayView<const Buffer::Change>&; T = {anonymous}::complete_option(const Kakoune::SelectionList&, const Kakoune::OptionManager&, const Kakoune::FaceRegistry&, Kakoune::StringView)::<lambda(auto:78&&)>]' >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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<BufferCoord>&, const Range<BufferCoord>&)': >hash_map.hh:223:71: required from 'constexpr int Kakoune::HashMap<Key, Value, domain, Container, multi_key>::find_index(const KeyType&, size_t) const [with KeyType = Kakoune::Range<Kakoune::BufferCoord>; Key = Kakoune::Range<Kakoune::BufferCoord>; Value = std::vector<Kakoune::RegexHighlighter::Cache::RangeAndMatches, Kakoune::Allocator<Kakoune::RegexHighlighter::Cache::RangeAndMatches, Kakoune::MemoryDomain::Highlight> >; 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<Key, Value, domain, Container, multi_key>::EffectiveValue& Kakoune::HashMap<Key, Value, domain, Container, multi_key>::operator[](KeyType&&) [with KeyType = Kakoune::Range<Kakoune::BufferCoord>&; Key = Kakoune::Range<Kakoune::BufferCoord>; Value = std::vector<Kakoune::RegexHighlighter::Cache::RangeAndMatches, Kakoune::Allocator<Kakoune::RegexHighlighter::Cache::RangeAndMatches, Kakoune::MemoryDomain::Highlight> >; Kakoune::MemoryDomain domain = Kakoune::MemoryDomain::Highlight; Container = Kakoune::Vector; bool multi_key = false; EffectiveValue = std::vector<Kakoune::RegexHighlighter::Cache::RangeAndMatches, Kakoune::Allocator<Kakoune::RegexHighlighter::Cache::RangeAndMatches, Kakoune::MemoryDomain::Highlight> >]' >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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<InclusiveBufferRange, String>; AdvanceFunc = update_forward<std::vector<std::tuple<InclusiveBufferRange, String>, Allocator<std::tuple<InclusiveBufferRange, String>, Kakoune::MemoryDomain::Options> > >(ConstArrayView<Buffer::Change>, std::vector<std::tuple<InclusiveBufferRange, String>, Allocator<std::tuple<InclusiveBufferRange, String>, Kakoune::MemoryDomain::Options> >&)::<lambda(const BufferCoord&)>&]': >changes.hh:59:21: required from 'void Kakoune::update_forward(ConstArrayView<Buffer::Change>, RangeContainer&) [with RangeContainer = std::vector<std::tuple<InclusiveBufferRange, String>, Allocator<std::tuple<InclusiveBufferRange, String>, Kakoune::MemoryDomain::Options> >; ConstArrayView<Buffer::Change> = ArrayView<const Buffer::Change>]' >changes.hh:98:27: required from 'void Kakoune::update_ranges(Buffer&, size_t&, RangeContainer&&) [with RangeContainer = std::vector<std::tuple<InclusiveBufferRange, String>, Allocator<std::tuple<InclusiveBufferRange, String>, 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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<InclusiveBufferRange, String>; AdvanceFunc = update_backward<std::vector<std::tuple<InclusiveBufferRange, String>, Allocator<std::tuple<InclusiveBufferRange, String>, Kakoune::MemoryDomain::Options> > >(ConstArrayView<Buffer::Change>, std::vector<std::tuple<InclusiveBufferRange, String>, Allocator<std::tuple<InclusiveBufferRange, String>, Kakoune::MemoryDomain::Options> >&)::<lambda(const BufferCoord&)>&]': >changes.hh:81:21: required from 'void Kakoune::update_backward(ConstArrayView<Buffer::Change>, RangeContainer&) [with RangeContainer = std::vector<std::tuple<InclusiveBufferRange, String>, Allocator<std::tuple<InclusiveBufferRange, String>, Kakoune::MemoryDomain::Options> >; ConstArrayView<Buffer::Change> = ArrayView<const Buffer::Change>]' >changes.hh:103:28: required from 'void Kakoune::update_ranges(Buffer&, size_t&, RangeContainer&&) [with RangeContainer = std::vector<std::tuple<InclusiveBufferRange, String>, Allocator<std::tuple<InclusiveBufferRange, String>, 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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) >changes.hh: In instantiation of 'Kakoune::update_forward<std::vector<std::tuple<InclusiveBufferRange, String>, Allocator<std::tuple<InclusiveBufferRange, String>, Kakoune::MemoryDomain::Options> > >(ConstArrayView<Buffer::Change>, std::vector<std::tuple<InclusiveBufferRange, String>, Allocator<std::tuple<InclusiveBufferRange, String>, Kakoune::MemoryDomain::Options> >&)::<lambda(auto:69&, const Kakoune::Buffer::Change&)> [with auto:69 = std::tuple<Kakoune::InclusiveBufferRange, Kakoune::String>]': >/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::tuple<Kakoune::InclusiveBufferRange, Kakoune::String>*, std::vector<std::tuple<Kakoune::InclusiveBufferRange, Kakoune::String>, Kakoune::Allocator<std::tuple<Kakoune::InclusiveBufferRange, Kakoune::String>, Kakoune::MemoryDomain::Options> > >; _Value = const Kakoune::Buffer::Change; _Compare = Kakoune::update_forward<std::vector<std::tuple<InclusiveBufferRange, String>, Allocator<std::tuple<InclusiveBufferRange, String>, Kakoune::MemoryDomain::Options> > >(ConstArrayView<Buffer::Change>, std::vector<std::tuple<InclusiveBufferRange, String>, Allocator<std::tuple<InclusiveBufferRange, String>, Kakoune::MemoryDomain::Options> >&)::<lambda(auto:69&, const Kakoune::Buffer::Change&)>]' >/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<tuple<Kakoune::InclusiveBufferRange, Kakoune::String>*, vector<tuple<Kakoune::InclusiveBufferRange, Kakoune::String>, Kakoune::Allocator<tuple<Kakoune::InclusiveBufferRange, Kakoune::String>, Kakoune::MemoryDomain::Options> > >; _Tp = Kakoune::Buffer::Change; _Compare = __gnu_cxx::__ops::_Iter_comp_val<Kakoune::update_forward<std::vector<std::tuple<InclusiveBufferRange, String>, Allocator<std::tuple<InclusiveBufferRange, String>, Kakoune::MemoryDomain::Options> > >(ConstArrayView<Buffer::Change>, std::vector<std::tuple<InclusiveBufferRange, String>, Allocator<std::tuple<InclusiveBufferRange, String>, Kakoune::MemoryDomain::Options> >&)::<lambda(auto:69&, const Kakoune::Buffer::Change&)> >]' >/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<tuple<Kakoune::InclusiveBufferRange, Kakoune::String>*, vector<tuple<Kakoune::InclusiveBufferRange, Kakoune::String>, Kakoune::Allocator<tuple<Kakoune::InclusiveBufferRange, Kakoune::String>, Kakoune::MemoryDomain::Options> > >; _Tp = Kakoune::Buffer::Change; _Compare = Kakoune::update_forward<std::vector<std::tuple<InclusiveBufferRange, String>, Allocator<std::tuple<InclusiveBufferRange, String>, Kakoune::MemoryDomain::Options> > >(ConstArrayView<Buffer::Change>, std::vector<std::tuple<InclusiveBufferRange, String>, Allocator<std::tuple<InclusiveBufferRange, String>, Kakoune::MemoryDomain::Options> >&)::<lambda(auto:69&, const Kakoune::Buffer::Change&)>]' >changes.hh:56:37: required from 'void Kakoune::update_forward(ConstArrayView<Buffer::Change>, RangeContainer&) [with RangeContainer = std::vector<std::tuple<InclusiveBufferRange, String>, Allocator<std::tuple<InclusiveBufferRange, String>, Kakoune::MemoryDomain::Options> >; ConstArrayView<Buffer::Change> = ArrayView<const Buffer::Change>]' >changes.hh:98:27: required from 'void Kakoune::update_ranges(Buffer&, size_t&, RangeContainer&&) [with RangeContainer = std::vector<std::tuple<InclusiveBufferRange, String>, Allocator<std::tuple<InclusiveBufferRange, String>, 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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<T>::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<T>() and other.get<T>() == m_value; > | ~~~~~~~~~~~~~~~^~~~~~~~~~ >coord.hh:52:20: note: candidate 1: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::DisplayCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ColumnCount]' (reversed) >option_manager.hh: In instantiation of 'void Kakoune::TypedOption<T>::set(T, bool) [with T = Kakoune::DisplayCoord]': >option_manager.hh:169:9: required from 'void Kakoune::TypedOption<T>::set_from_strings(Kakoune::ConstArrayView<Kakoune::String>) [with T = Kakoune::DisplayCoord; Kakoune::ConstArrayView<Kakoune::String> = Kakoune::ArrayView<const Kakoune::String>]' >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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) >selection.cc: In function 'Kakoune::Vector<Kakoune::Selection> 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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) >selectors.cc: In function 'Kakoune::Optional<Kakoune::Selection> 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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) >selectors.cc: In function 'Kakoune::Optional<Kakoune::Selection> 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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<std::vector<Selection, Allocator<Selection, Kakoune::MemoryDomain::Selections> > >(ConstArrayView<Buffer::Change>, std::vector<Selection, Allocator<Selection, Kakoune::MemoryDomain::Selections> >&)::<lambda(const BufferCoord&)>&]': >changes.hh:59:21: required from 'void Kakoune::update_forward(ConstArrayView<Buffer::Change>, RangeContainer&) [with RangeContainer = std::vector<Selection, Allocator<Selection, Kakoune::MemoryDomain::Selections> >; ConstArrayView<Buffer::Change> = ArrayView<const Buffer::Change>]' >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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<std::vector<Selection, Allocator<Selection, Kakoune::MemoryDomain::Selections> > >(ConstArrayView<Buffer::Change>, std::vector<Selection, Allocator<Selection, Kakoune::MemoryDomain::Selections> >&)::<lambda(const BufferCoord&)>&]': >changes.hh:81:21: required from 'void Kakoune::update_backward(ConstArrayView<Buffer::Change>, RangeContainer&) [with RangeContainer = std::vector<Selection, Allocator<Selection, Kakoune::MemoryDomain::Selections> >; ConstArrayView<Buffer::Change> = ArrayView<const Buffer::Change>]' >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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) >selectors.cc: In function 'Kakoune::Optional<Kakoune::Selection> 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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) >selectors.cc: In function 'Kakoune::Optional<Kakoune::Selection> 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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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::Selection, Kakoune::MemoryDomain::Selections> Kakoune::select_matches(const Buffer&, ConstArrayView<Selection>, 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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) >selectors.cc: In function 'Kakoune::Vector<Kakoune::Selection, Kakoune::MemoryDomain::Selections> Kakoune::split_on_matches(const Buffer&, ConstArrayView<Selection>, 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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) >selectors.cc: In instantiation of 'Kakoune::Optional<Kakoune::Selection> 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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) >selectors.cc: In instantiation of 'Kakoune::Optional<Kakoune::Selection> 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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) >changes.hh: In instantiation of 'Kakoune::update_forward<std::vector<Selection, Allocator<Selection, Kakoune::MemoryDomain::Selections> > >(ConstArrayView<Buffer::Change>, std::vector<Selection, Allocator<Selection, Kakoune::MemoryDomain::Selections> >&)::<lambda(auto:69&, const Kakoune::Buffer::Change&)> [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<Kakoune::Selection*, std::vector<Kakoune::Selection, Kakoune::Allocator<Kakoune::Selection, Kakoune::MemoryDomain::Selections> > >; _Value = const Kakoune::Buffer::Change; _Compare = Kakoune::update_forward<std::vector<Selection, Allocator<Selection, Kakoune::MemoryDomain::Selections> > >(ConstArrayView<Buffer::Change>, std::vector<Selection, Allocator<Selection, Kakoune::MemoryDomain::Selections> >&)::<lambda(auto:69&, const Kakoune::Buffer::Change&)>]' >/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<Kakoune::Selection*, vector<Kakoune::Selection, Kakoune::Allocator<Kakoune::Selection, Kakoune::MemoryDomain::Selections> > >; _Tp = Kakoune::Buffer::Change; _Compare = __gnu_cxx::__ops::_Iter_comp_val<Kakoune::update_forward<std::vector<Selection, Allocator<Selection, Kakoune::MemoryDomain::Selections> > >(ConstArrayView<Buffer::Change>, std::vector<Selection, Allocator<Selection, Kakoune::MemoryDomain::Selections> >&)::<lambda(auto:69&, const Kakoune::Buffer::Change&)> >]' >/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<Kakoune::Selection*, vector<Kakoune::Selection, Kakoune::Allocator<Kakoune::Selection, Kakoune::MemoryDomain::Selections> > >; _Tp = Kakoune::Buffer::Change; _Compare = Kakoune::update_forward<std::vector<Selection, Allocator<Selection, Kakoune::MemoryDomain::Selections> > >(ConstArrayView<Buffer::Change>, std::vector<Selection, Allocator<Selection, Kakoune::MemoryDomain::Selections> >&)::<lambda(auto:69&, const Kakoune::Buffer::Change&)>]' >changes.hh:56:37: required from 'void Kakoune::update_forward(ConstArrayView<Buffer::Change>, RangeContainer&) [with RangeContainer = std::vector<Selection, Allocator<Selection, Kakoune::MemoryDomain::Selections> >; ConstArrayView<Buffer::Change> = ArrayView<const Buffer::Change>]' >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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (reversed) >window.cc: In member function 'Kakoune::Optional<Kakoune::DisplayCoord> 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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator<=>(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' (rewritten) > 45 | constexpr auto operator<=> (EffectiveType other) const > | ^~~~~~~~ >coord.hh:45:20: note: candidate 2: 'constexpr auto Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::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<EffectiveType, LineType, ColumnType>::operator==(EffectiveType) const [with EffectiveType = Kakoune::BufferCoord; LineType = Kakoune::LineCount; ColumnType = Kakoune::ByteCount]' > 52 | constexpr bool operator== (EffectiveType other) const > | ^~~~~~~~ >coord.hh:52:20: note: candidate 2: 'constexpr bool Kakoune::LineAndColumn<EffectiveType, LineType, ColumnType>::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. >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 906015
: 861376