clang++ -std=c++20 -fconstexpr-steps=100000000 -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/main.cpp -o src/main.o clang++ -std=c++20 -fconstexpr-steps=100000000 -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/chess/magics.cpp -o src/chess/magics.o clang++ -std=c++20 -fconstexpr-steps=100000000 -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/chess/move_gen.cpp -o src/chess/move_gen.o clang++ -std=c++20 -fconstexpr-steps=100000000 -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/chess/board_state.cpp -o src/chess/board_state.o clang++ -std=c++20 -fconstexpr-steps=100000000 -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/chess/board.cpp -o src/chess/board.o clang++ -std=c++20 -fconstexpr-steps=100000000 -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/chess/castle_rights.cpp -o src/chess/castle_rights.o clang++ -std=c++20 -fconstexpr-steps=100000000 -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/chess/move.cpp -o src/chess/move.o clang++ -std=c++20 -fconstexpr-steps=100000000 -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/search/game_tree.cpp -o src/search/game_tree.o clang++ -std=c++20 -fconstexpr-steps=100000000 -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/search/time_manager.cpp -o src/search/time_manager.o clang++ -std=c++20 -fconstexpr-steps=100000000 -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/search/searcher.cpp -o src/search/searcher.o clang++ -std=c++20 -fconstexpr-steps=100000000 -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/search/thread.cpp -o src/search/thread.o clang++ -std=c++20 -fconstexpr-steps=100000000 -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/search/tree_half.cpp -o src/search/tree_half.o clang++ -std=c++20 -fconstexpr-steps=100000000 -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/search/node.cpp -o src/search/node.o clang++ -std=c++20 -fconstexpr-steps=100000000 -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/data_gen/format/monty_format.cpp -o src/data_gen/format/monty_format.o clang++ -std=c++20 -fconstexpr-steps=100000000 -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/data_gen/openings.cpp -o src/data_gen/openings.o clang++ -std=c++20 -fconstexpr-steps=100000000 -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/data_gen/game_runner.cpp -o src/data_gen/game_runner.o clang++ -std=c++20 -fconstexpr-steps=100000000 -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/tests/bench.cpp -o src/tests/bench.o clang++ -std=c++20 -fconstexpr-steps=100000000 -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/tests/perft.cpp -o src/tests/perft.o clang++ -std=c++20 -fconstexpr-steps=100000000 -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/uci/options.cpp -o src/uci/options.o clang++ -std=c++20 -fconstexpr-steps=100000000 -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/uci/uci.cpp -o src/uci/uci.o clang++ -std=c++20 -fconstexpr-steps=100000000 -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/eval/value_network.cpp -o src/eval/value_network.o clang++ -std=c++20 -fconstexpr-steps=100000000 -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/eval/networks.cpp -o src/eval/networks.o clang++ -std=c++20 -fconstexpr-steps=100000000 -O3 -flto -DEVALFILE=\"/home/aron/OpenBench/Client/Networks/446798D0\" -march=native -c src/eval/policy_network.cpp -o src/eval/policy_network.o src/search/tree_half.cpp:25:41: error: use of overloaded operator '!=' is ambiguous (with operand types 'u8' (aka 'unsigned char') and 'search::TreeHalf::Index') if (node.first_child_idx.half() != our_half_) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~ src/search/tree_half.hpp:27:38: note: candidate function (with reversed parameter order) [[nodiscard]] constexpr bool operator==(const Index &other) const noexcept { ^ src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, int) if (node.first_child_idx.half() != our_half_) { ^ src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, int) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, int) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, int) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, int) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, float) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, long double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, __float128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, __int128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, unsigned int) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, unsigned long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, unsigned long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(int, unsigned __int128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, int) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, int) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, int) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, int) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, int) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, int) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, int) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, float) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, long double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, __float128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, __int128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, unsigned int) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, unsigned long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, unsigned long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(float, unsigned __int128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, float) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, long double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, __float128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, __int128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, unsigned int) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, unsigned long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, unsigned long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(double, unsigned __int128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, float) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, long double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, __float128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, __int128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, unsigned int) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, unsigned long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, unsigned long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long double, unsigned __int128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, float) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, long double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, __float128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, __int128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, unsigned int) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, unsigned long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, unsigned long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__float128, unsigned __int128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, float) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, long double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, __float128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, __int128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, unsigned int) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, unsigned long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, unsigned long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long, unsigned __int128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, float) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, long double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, __float128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, __int128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, unsigned int) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, unsigned long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, unsigned long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(long long, unsigned __int128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, float) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, long double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, __float128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, __int128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, unsigned int) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, unsigned long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, unsigned long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(__int128, unsigned __int128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, float) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, long double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, __float128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, __int128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, unsigned int) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, unsigned long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, unsigned long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned int, unsigned __int128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, float) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, long double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, __float128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, __int128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, unsigned int) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, unsigned long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, unsigned long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long, unsigned __int128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, float) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, long double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, __float128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, __int128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, unsigned int) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, unsigned long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, unsigned long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned long long, unsigned __int128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, float) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, long double) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, __float128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, __int128) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, unsigned int) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, unsigned long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, unsigned long long) src/search/tree_half.cpp:25:41: note: built-in candidate operator!=(unsigned __int128, unsigned __int128) 1 error generated. make: *** [Makefile:47: src/search/tree_half.o] Error 1 make: *** Waiting for unfinished jobs....