clang++ -std=c++17 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/ubuntu/OpenBench/Client/Networks/9B9F2959\" -march=native -c src/eval/policy_network.cpp -o src/eval/policy_network.o
clang++ -std=c++17 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/ubuntu/OpenBench/Client/Networks/9B9F2959\" -march=native -c src/eval/networks.cpp -o src/eval/networks.o
clang++ -std=c++17 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/ubuntu/OpenBench/Client/Networks/9B9F2959\" -march=native -c src/eval/value_network.cpp -o src/eval/value_network.o
clang++ -std=c++17 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/ubuntu/OpenBench/Client/Networks/9B9F2959\" -march=native -c src/main.cpp -o src/main.o
clang++ -std=c++17 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/ubuntu/OpenBench/Client/Networks/9B9F2959\" -march=native -c src/tests/bench.cpp -o src/tests/bench.o
clang++ -std=c++17 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/ubuntu/OpenBench/Client/Networks/9B9F2959\" -march=native -c src/tests/perft.cpp -o src/tests/perft.o
clang++ -std=c++17 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/ubuntu/OpenBench/Client/Networks/9B9F2959\" -march=native -c src/uci/options.cpp -o src/uci/options.o
clang++ -std=c++17 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/ubuntu/OpenBench/Client/Networks/9B9F2959\" -march=native -c src/uci/uci.cpp -o src/uci/uci.o
clang++ -std=c++17 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/ubuntu/OpenBench/Client/Networks/9B9F2959\" -march=native -c src/search/game_tree.cpp -o src/search/game_tree.o
clang++ -std=c++17 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/ubuntu/OpenBench/Client/Networks/9B9F2959\" -march=native -c src/search/thread.cpp -o src/search/thread.o
clang++ -std=c++17 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/ubuntu/OpenBench/Client/Networks/9B9F2959\" -march=native -c src/search/time_manager.cpp -o src/search/time_manager.o
clang++ -std=c++17 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/ubuntu/OpenBench/Client/Networks/9B9F2959\" -march=native -c src/search/searcher.cpp -o src/search/searcher.o
clang++ -std=c++17 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/ubuntu/OpenBench/Client/Networks/9B9F2959\" -march=native -c src/search/tree_half.cpp -o src/search/tree_half.o
clang++ -std=c++17 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/ubuntu/OpenBench/Client/Networks/9B9F2959\" -march=native -c src/search/node.cpp -o src/search/node.o
clang++ -std=c++17 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/ubuntu/OpenBench/Client/Networks/9B9F2959\" -march=native -c src/chess/board.cpp -o src/chess/board.o
clang++ -std=c++17 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/ubuntu/OpenBench/Client/Networks/9B9F2959\" -march=native -c src/chess/move_gen.cpp -o src/chess/move_gen.o
clang++ -std=c++17 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/ubuntu/OpenBench/Client/Networks/9B9F2959\" -march=native -c src/chess/board_state.cpp -o src/chess/board_state.o
clang++ -std=c++17 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/ubuntu/OpenBench/Client/Networks/9B9F2959\" -march=native -c src/chess/move.cpp -o src/chess/move.o
clang++ -std=c++17 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/ubuntu/OpenBench/Client/Networks/9B9F2959\" -march=native -c src/chess/magics.cpp -o src/chess/magics.o
clang++ -std=c++17 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/ubuntu/OpenBench/Client/Networks/9B9F2959\" -march=native -c src/chess/castle_rights.cpp -o src/chess/castle_rights.o
clang++ -std=c++17 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/ubuntu/OpenBench/Client/Networks/9B9F2959\" -march=native -c src/data_gen/format/monty_format.cpp -o src/data_gen/format/monty_format.o
clang++ -std=c++17 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/ubuntu/OpenBench/Client/Networks/9B9F2959\" -march=native -c src/data_gen/openings.cpp -o src/data_gen/openings.o
clang++ -std=c++17 -fconstexpr-steps=100000000  -O3 -flto -DEVALFILE=\"/home/ubuntu/OpenBench/Client/Networks/9B9F2959\" -march=native -c src/data_gen/game_runner.cpp -o src/data_gen/game_runner.o
In file included from src/chess/magics.cpp:1:
In file included from src/chess/magics.hpp:6:
src/chess/bitboard.hpp:151:76: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
    [[nodiscard]] constexpr bool operator==(Bitboard const &other) const = default;
                                                                           ^
src/chess/bitboard.hpp:186:39: error: no template named 'remove_cvref_t' in namespace 'std'; did you mean '__remove_cvref_t'?
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                                 ~~~~~^~~~~~~~~~~~~~
                                      __remove_cvref_t
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits:2228:5: note: '__remove_cvref_t' declared here
    using __remove_cvref_t
    ^
In file included from src/chess/magics.cpp:1:
In file included from src/chess/magics.hpp:6:
src/chess/bitboard.hpp:186:92: error: expected ')'
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                                                                                           ^
src/chess/bitboard.hpp:186:18: note: to match this '('
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                 ^
src/chess/bitboard.hpp:186:24: error: parameter declarator cannot be qualified
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                  ~~~~~^
src/chess/bitboard.hpp:186:24: error: parameter name cannot have template arguments
src/chess/bitboard.hpp:186:24: error: C++ requires a type specifier for all declarations
src/chess/bitboard.hpp:187:102: error: expected ')'
                  (std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, int> && rank_diff == 0)) &&
                                                                                                     ^
src/chess/bitboard.hpp:186:17: note: to match this '('
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                ^
src/chess/bitboard.hpp:186:9: error: C++ requires a type specifier for all declarations
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
        ^
src/chess/bitboard.hpp:190:7: error: 'nodiscard' attribute cannot be applied to types
    [[nodiscard]] constexpr Bitboard shift() const {
      ^
In file included from src/chess/board_state.cpp:In file included from src/eval/value_network.cpp:1:
In file included from src/eval/value_network.hpp:4:
In file included from src/eval/../chess/board_state.hpp:6:
src/eval/../chess/bitboard.hpp:151:76: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
1:
In file included from src/chess/board_state.hpp:    [[nodiscard]] constexpr bool operator==(Bitboard const &other) const = default;
                                                                           ^
6:
src/chess/bitboard.hpp:151:76: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]src/chess/bitboard.hpp:190:18: error: expected ';' at end of declaration list

In file included from     [[nodiscard]] constexpr Bitboard shift() const {
                 ^
                 ;
src/eval/policy_network.cpp:1    [[nodiscard]] constexpr bool operator==(Bitboard const &other) const = default;
                                                                           ^
:
In file included from src/eval/policy_network.hpp:4:
In file included from src/eval/../chess/board_state.hpp:6:
src/eval/../chess/bitboard.hpp:151:76: warning: src/chess/bitboard.hppdefaulted comparison operators are a C++20 extension [-Wc++20-extensions]
:247:    [[nodiscard]] constexpr bool operator==(Bitboard const &other) const = default;
                                                                           ^
80: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
        [[nodiscard]] constexpr bool operator==(Iterator const &other) const = default;
                                                                               ^
In file included from src/eval/networks.cpp:2:
In file included from src/eval/policy_network.hpp:4:
In file included from src/eval/../chess/board_state.hpp:6:
src/eval/../chess/bitboard.hpp:151:76: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
    [[nodiscard]] constexpr bool operator==(Bitboard const &other) const = default;
                                                                           ^
src/chess/bitboard.hpp:186:39: error: no template named 'remove_cvref_t' in namespace 'std'; did you mean '__remove_cvref_t'?
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                                 ~~~~~^~~~~~~~~~~~~~
                                      __remove_cvref_t
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits:2228:5: note: '__remove_cvref_t' declared here
src/eval/../chess/bitboard.hpp    using __remove_cvref_t
    ^
:186:39: error: no template named 'remove_cvref_t' in namespace 'std'; did you mean '__remove_cvref_t'?
src/eval/../chess/bitboard.hpp:186:39: error: no template named 'remove_cvref_t' in namespace 'std'; did you mean '__remove_cvref_t'?
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                                 ~~~~~^~~~~~~~~~~~~~
                                      __remove_cvref_t

                                 ~~~~~^~~~~~~~~~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits:2228:5: note: '__remove_cvref_t' declared here                                      __remove_cvref_t

/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits:    using __remove_cvref_t
    ^
2228:5: note: '__remove_cvref_t' declared here
    using __remove_cvref_t
    ^
src/eval/../chess/bitboard.hpp:186:39: error: no template named 'remove_cvref_t' in namespace 'std'; did you mean '__remove_cvref_t'?
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                                 ~~~~~^~~~~~~~~~~~~~
                                      __remove_cvref_t
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits:2228:5: note: '__remove_cvref_t' declared here
src/chess/bitboard.hpp    using __remove_cvref_t
    ^
:26:21: error: no member named 'popcount' in namespace 'std'; did you mean '__popcount'?
        return std::popcount(raw_);
               ~~~~~^~~~~~~~
                    __popcount
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:289:5: note: '__popcount' declared here
    __popcount(_Tp __x) noexcept
    ^
In file included from src/chess/board_state.cpp:1:
In file included from src/chess/board_state.hpp:6:
src/chess/bitboard.hpp:186:92: error: expected ')'
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                                                                                           ^
src/chess/bitboard.hpp:186:18: note: to match this '('
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||In file included from 
                 ^
src/chess/bitboard.hpp:186:24: error: parameter declarator cannot be qualified
src/eval/value_network.cpp:        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||1:
In file included from src/eval/value_network.hpp:4:
In file included from src/eval/../chess/board_state.hpp:6:
src/eval/../chess/bitboard.hpp:186:92: error: expected ')'

                  ~~~~~^
src/chess/bitboard.hpp:186        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||:24: error: parameter name cannot have template arguments
src/chess/bitboard.hpp:186:24: error: C++ requires a type specifier for all declarations

src/chess/bitboard.hpp                                                                                           ^
In file included from src/eval/policy_network.cpp:1:
In file included from src/eval/policy_network.hpp:4:
In file included from src/eval/../chess/board_state.hpp:src/eval/../chess/bitboard.hpp6::
186src/eval/../chess/bitboard.hpp::18186:: 92:note:  to match this '('error: 
expected ')'
:187        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||:102: error: expected ')'

                 ^        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                                                                                           ^

                  (std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, int> && rank_diff == 0)) &&
                                                                                                     ^
src/eval/../chess/bitboard.hpp:src/chess/bitboard.hpp186::186:1817::  note: note: to match this '('to match this '('

src/eval/../chess/bitboard.hpp:        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||

                ^                 ^

186src/eval/../chess/bitboard.hpp:186src/chess/bitboard.hpp::24186::9 : error: error: C++ requires a type specifier for all declarationsparameter declarator cannot be qualified

:24:         requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                  ~~~~~^
error: parameter declarator cannot be qualified
src/eval/../chess/bitboard.hpp:186:24: error: parameter name cannot have template arguments
src/eval/../chess/bitboard.hpp
        ^
:src/chess/bitboard.hpp:190        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||:
7                  ~~~~~^:
 error: 'nodiscard' attribute cannot be applied to types
186src/eval/../chess/bitboard.hpp:24    [[nodiscard]] constexpr Bitboard shift() const {:
       ^error: 
C++ requires a type specifier for all declarations
:src/eval/../chess/bitboard.hpp:187:102: error: expected ')'
186:24                  (std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, int> && rank_diff == 0)) &&
                                                                                                     ^
src/eval/../chess/bitboard.hpp:186:17: note: to match this '('
:         requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||error: parameter name cannot have template arguments
src/eval/../chess/bitboard.hpp:186:24: error: C++ requires a type specifier for all declarations

src/eval/../chess/bitboard.hpp                ^
:src/chess/bitboard.hpp:src/eval/../chess/bitboard.hpp190::18186::9 :error:  error: expected ';' at end of declaration listC++ requires a type specifier for all declarations

187:    [[nodiscard]] constexpr Bitboard shift() const {102: error: expected ')'
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
        ^

src/eval/../chess/bitboard.hpp:190:7: error: 'nodiscard' attribute cannot be applied to types
                 ^                  (std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, int> && rank_diff == 0)) &&
                                                                                                     ^
    [[nodiscard]] constexpr Bitboard shift() const {
      ^
src/eval/../chess/bitboard.hpp:186:17: note: to match this '('

                 ;
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                ^
src/eval/../chess/bitboard.hpp:186:9: error: C++ requires a type specifier for all declarations
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
        ^
src/eval/../chess/bitboard.hppsrc/chess/bitboard.hpp:247:80: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
:190        [[nodiscard]] constexpr bool operator==(Iterator const &other) const = default;:7: error: 'nodiscard' attribute cannot be applied to types

    [[nodiscard]] constexpr Bitboard shift() const {
      ^
                                                                               ^
src/eval/../chess/bitboard.hpp:190:18: src/eval/../chess/bitboard.hpperror: expected ';' at end of declaration list
:    [[nodiscard]] constexpr Bitboard shift() const {
                 ^
                 ;
190:18: error: expected ';' at end of declaration list
    [[nodiscard]] constexpr Bitboard shift() const {
                 ^
                 ;
src/eval/../chess/bitboard.hpp:247:src/eval/../chess/bitboard.hpp80: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
:247        [[nodiscard]] constexpr bool operator==(Iterator const &other) const = default;
                                                                               ^
:80: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
        [[nodiscard]] constexpr bool operator==(Iterator const &other) const = default;
                                                                               ^
In file included from src/eval/networks.cpp:2:
In file included from src/eval/policy_network.hpp:4:
In file included from src/eval/../chess/board_state.hpp:6:
src/eval/../chess/bitboard.hpp:186:92: error: expected ')'
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                                                                                           ^
src/eval/../chess/bitboard.hpp:186:18: note: to match this '('
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                 ^
In file included from src/eval/../chess/bitboard.hppsrc/chess/magics.cpp:1:
In file included from src/chess/magics.hpp:6:
src/chess/bitboard.hpp:30:21: error: no member named 'countr_zero' in namespace 'std'; did you mean '__countr_zero'?
:186        return std::countr_zero(raw_);
               ~~~~~^~~~~~~~~~~
                    __countr_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:24: error: parameter declarator cannot be qualified
:248:        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                  ~~~~~^
5src/eval/../chess/bitboard.hpp: note: '__countr_zero' declared here
    __countr_zero(_Tp __x) noexcept:186:24: error: parameter name cannot have template arguments
src/eval/../chess/bitboard.hpp
    ^
:186:24: error: C++ requires a type specifier for all declarations
src/eval/../chess/bitboard.hpp:187:102: error: expected ')'
                  (std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, int> && rank_diff == 0)) &&
                                                                                                     ^
src/eval/../chess/bitboard.hpp:186:17: note: to match this '('
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                ^
src/eval/../chess/bitboard.hpp:186:9: error: C++ requires a type specifier for all declarations
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
        ^
src/eval/../chess/bitboard.hpp:190:7: error: 'nodiscard' attribute cannot be applied to types
    [[nodiscard]] constexpr Bitboard shift() const {
      ^
src/eval/../chess/bitboard.hpp:190:18: error: expected ';' at end of declaration list
    [[nodiscard]] constexpr Bitboard shift() const {
                 ^
                 ;
src/eval/../chess/bitboard.hpp:247:80: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
        [[nodiscard]] constexpr bool operator==(Iterator const &other) const = default;
                                                                               ^
In file included from src/chess/magics.cpp:1:
In file included from src/chess/magics.hpp:6:
src/chess/bitboard.hpp:34:33: error: no member named 'countl_zero' in namespace 'std'; did you mean '__countl_zero'?
        return raw_ ? 63 - std::countl_zero(raw_) : 64;
                           ~~~~~^~~~~~~~~~~
                                __countl_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:195:5: note: '__countl_zero' declared here
    __countl_zero(_Tp __x) noexcept
    ^
src/eval/../chess/bitboard.hpp:26:21: error: no member named 'popcount' in namespace 'std'; did you mean '__popcount'?
        return std::popcount(raw_);
               ~~~~~^~~~~~~~
                    __popcount
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:289:5: note: '__popcount' declared here
    __popcount(_Tp __x) noexcept
    ^
src/chess/bitboard.hpp:26:21: error: no member named 'popcount' in namespace 'std'; did you mean '__popcount'?
        return std::popcount(raw_);
               ~~~~~^~~~~~~~
                    __popcount
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:289:5: note: '__popcount' declared here
    __popcount(_Tp __x) noexcept
    ^
src/eval/../chess/bitboard.hpp:26:21: error: no member named 'popcount' in namespace 'std'; did you mean '__popcount'?
        return std::popcount(raw_);
               ~~~~~^~~~~~~~
                    __popcount
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:289:5: note: '__popcount' declared here
    __popcount(_Tp __x) noexcept
    ^
In file included from src/chess/magics.cpp:1:
In file included from src/chess/magics.hpp:6:
src/chess/bitboard.hpp:38:21: error: no member named 'rotl' in namespace 'std'
        return std::rotl(raw_, shift);
               ~~~~~^
In file included from src/eval/policy_network.cpp:1:
In file included from src/eval/policy_network.hpp:4:
In file included from src/eval/../chess/board_state.hpp:6:
src/eval/../chess/bitboard.hpp:30:21: error: no member named 'countr_zero' in namespace 'std'; did you mean '__countr_zero'?
        return std::countr_zero(raw_);
               ~~~~~^~~~~~~~~~~
                    __countr_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:248:5: note: '__countr_zero' declared here
    __countr_zero(_Tp __x) noexcept
    ^
src/eval/../chess/bitboard.hpp:26:21: error: no member named 'popcount' in namespace 'std'; did you mean '__popcount'?
        return std::popcount(raw_);
               ~~~~~^~~~~~~~
                    __popcount
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:289:5: note: '__popcount' declared here
    __popcount(_Tp __x) noexcept
    ^
In file included from src/search/node.cpp:1:
In file included from src/search/node.hpp:4:
src/search/../chess/move.hpp:94:67: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
    [[nodiscard]] constexpr bool operator==(Move const &) const = default;
                                                                  ^
In file included from src/eval/value_network.cpp:1:
In file included from src/eval/value_network.hpp:4:
In file included from src/eval/../chess/board_state.hpp:6:
src/eval/../chess/bitboard.hpp:30:21: error: no member named 'countr_zero' in namespace 'std'; did you mean '__countr_zero'?
        return std::countr_zero(raw_);
               ~~~~~^~~~~~~~~~~src/chess/bitboard.hpp
                    __countr_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:248:5: note: '__countr_zero' declared here
:    __countr_zero(_Tp __x) noexcept
    ^
42:21: error: no member named 'rotr' in namespace 'std'
        return std::rotr(raw_, shift);
               ~~~~~^
src/chess/bitboard.hpp:58:28: error: invalid operands to binary expression ('Bitboard' and 'int')
        return (bb & raw_) != 0;
               ~~~~~~~~~~~ ^  ~
In file included from src/chess/board_state.cpp:1:
In file included from src/chess/board_state.hpp:6:
src/chess/bitboard.hpp:30:21: error: no member named 'countr_zero' in namespace 'std'; did you mean '__countr_zero'?
        return std::countr_zero(raw_);
               ~~~~~^~~~~~~~~~~
                    __countr_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:248:5: note: '__countr_zero' declared here
    __countr_zero(_Tp __x) noexcept
    ^
In file included from src/eval/policy_network.cpp:1:
In file included from src/eval/policy_network.hpp:4:
In file included from src/eval/../chess/board_state.hpp:6:
src/eval/../chess/bitboard.hpp:34:33: error: no member named 'countl_zero' in namespace 'std'; did you mean '__countl_zero'?
        return raw_ ? 63 - std::countl_zero(raw_) : 64;
                           ~~~~~^~~~~~~~~~~
                                __countl_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:195:5: note: '__countl_zero' declared here
    __countl_zero(_Tp __x) noexcept
    ^
In file included from src/eval/networks.cpp:2:
In file included from src/eval/policy_network.hpp:4:
In file included from src/eval/../chess/board_state.hpp:6:
src/eval/../chess/bitboard.hpp:30:21: error: no member named 'countr_zero' in namespace 'std'; did you mean '__countr_zero'?
        return std::countr_zero(raw_);
               ~~~~~^~~~~~~~~~~
                    __countr_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:248:5: note: '__countr_zero' declared here
    __countr_zero(_Tp __x) noexcept
    ^
In file included from src/eval/value_network.cpp:1:
In file included from src/eval/value_network.hpp:4:
In file included from src/eval/../chess/board_state.hpp:6:
src/eval/../chess/bitboard.hpp:34:33: error: src/chess/bitboard.hpp:no member named 'countl_zero' in namespace 'std'; did you mean '__countl_zero'?
231        return raw_ ? 63 - std::countl_zero(raw_) : 64;
                           ~~~~~^~~~~~~~~~~
                                __countl_zero
:/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:195:5: note: '__countl_zero' declared here
16    __countl_zero(_Tp __x) noexcept: error: use of undeclared identifier 'ray_precomp'

    ^        return ray_precomp<rank_diff, file_diff>[sq];
               ^

src/chess/bitboard.hpp:230:45: error: no return statement in constexpr function
    [[nodiscard]] static constexpr Bitboard get_ray_precomputed(Square sq) {
                                            ^
src/chess/bitboard.hpp:239:48: error: no member named 'countr_zero' in namespace 'std'; did you mean '__countr_zero'?
            return Square{static_cast<u8>(std::countr_zero(state_))};
                                          ~~~~~^~~~~~~~~~~
                                               __countr_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:248:5: note: '__countr_zero' declared here
    __countr_zero(_Tp __x) noexcept
    ^
In file included from src/chess/board_state.cpp:1:
In file included from src/chess/board_state.hpp:6:
src/chess/bitboard.hpp:34:33: error: no member named 'countl_zero' in namespace 'std'; did you mean '__countl_zero'?
In file included from         return raw_ ? 63 - std::countl_zero(raw_) : 64;
                           ~~~~~^~~~~~~~~~~
                                __countl_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bitsrc/eval/networks.cpp:2:
In file included from src/eval/policy_network.hpp:4:
In file included from src/eval/../chess/board_state.hpp:6:
src/eval/../chess/bitboard.hpp:34:33: error: no member named 'countl_zero' in namespace 'std'; did you mean '__countl_zero'?
:195        return raw_ ? 63 - std::countl_zero(raw_) : 64;:5: note: '__countl_zero' declared here

    __countl_zero(_Tp __x) noexcept
    ^
                           ~~~~~^~~~~~~~~~~
                                __countl_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:195:5: note: '__countl_zero' declared here
    __countl_zero(_Tp __x) noexcept
    ^
In file included from src/eval/policy_network.cpp:1:
In file included from src/eval/policy_network.hpp:4:
In file included from src/eval/../chess/board_state.hpp:6:
src/eval/../chess/bitboard.hpp:38:21: error: no member named 'rotl' in namespace 'std'
        return std::rotl(raw_, shift);
               ~~~~~^
In file included from src/chess/move.cpp:1:
src/chess/move.hpp:94:67: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
In file included from     [[nodiscard]] constexpr bool operator==(Move const &) const = default;
                                                                  ^
src/eval/value_network.cpp:1:
In file included from src/eval/value_network.hpp:4:
In file included from src/eval/../chess/board_state.hpp:6:
src/eval/../chess/bitboard.hpp:38:21: error: no member named 'rotl' in namespace 'std'
        return std::rotl(raw_, shift);
               ~~~~~^
src/eval/../chess/bitboard.hpp:42:21: error: no member named 'rotr' in namespace 'std'
        return std::rotr(raw_, shift);
               ~~~~~^
In file included from src/eval/networks.cpp:2:
In file included from src/eval/policy_network.hpp:4:
In file included from src/eval/../chess/board_state.hpp:6:
src/eval/../chess/bitboard.hpp:38:21: error: no member named 'rotl' in namespace 'std'
        return std::rotl(raw_, shift);
               ~~~~~^
src/eval/../chess/bitboard.hpp:58:28: error: invalid operands to binary expression ('Bitboard' and 'int')
        return (bb & raw_) != 0;
               ~~~~~~~~~~~ ^  ~
In file included from src/chess/board_state.cpp:1:
In file included from src/chess/board_state.hpp:6:
src/chess/bitboard.hpp:38:21: error: no member named 'rotl' in namespace 'std'
        return std::rotl(raw_, shift);
               ~~~~~^
src/eval/../chess/bitboard.hpp:42:21: error: no member named 'rotr' in namespace 'std'
        return std::rotr(raw_, shift);
               ~~~~~^
src/eval/../chess/bitboard.hpp:58:28: error: invalid operands to binary expression ('Bitboard' and 'int')
        return (bb & raw_) != 0;
               ~~~~~~~~~~~ ^  ~
src/eval/../chess/bitboard.hpp:231:16: error: use of undeclared identifier 'ray_precomp'
        return ray_precomp<rank_diff, file_diff>[sq];
               ^
src/eval/../chess/bitboard.hpp:230:45: error: no return statement in constexpr function
    [[nodiscard]] static constexpr Bitboard get_ray_precomputed(Square sq) {
                                            ^
src/eval/../chess/bitboard.hpp:42:21: error: no member named 'rotr' in namespace 'std'
        return std::rotr(raw_, shift);
               ~~~~~^
src/eval/../chess/bitboard.hpp:58:28: error: invalid operands to binary expression ('Bitboard' and 'int')
        return (bb & raw_) != 0;
               ~~~~~~~~~~~ ^  ~
src/chess/bitboard.hpp:42:21: error: no member named 'rotr' in namespace 'std'
        return std::rotr(raw_, shift);
               ~~~~~^
src/eval/../chess/bitboard.hpp:239:src/chess/bitboard.hpp48: error: no member named 'countr_zero' in namespace 'std'; did you mean '__countr_zero'?
:58            return Square{static_cast<u8>(std::countr_zero(state_))};:28: error: invalid operands to binary expression ('Bitboard' and 'int')

        return (bb & raw_) != 0;                                          ~~~~~^~~~~~~~~~~
src/eval/../chess/bitboard.hpp                                               __countr_zero
:231:16: error: /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:248
:               ~~~~~~~~~~~ ^  ~5
: note: '__countr_zero' declared here
    __countr_zero(_Tp __x) noexceptuse of undeclared identifier 'ray_precomp'

    ^        return ray_precomp<rank_diff, file_diff>[sq];
               ^

src/eval/../chess/bitboard.hpp:230:45: error: no return statement in constexpr function
    [[nodiscard]] static constexpr Bitboard get_ray_precomputed(Square sq) {
                                            ^
src/eval/../chess/bitboard.hpp:231:16: error: use of undeclared identifier 'ray_precomp'
        return ray_precomp<rank_diff, file_diff>[sq];
               ^
src/eval/../chess/bitboard.hpp:230:45: error: no return statement in constexpr function
    [[nodiscard]] static constexpr Bitboard get_ray_precomputed(Square sq) {
src/eval/../chess/bitboard.hpp                                            ^
:239:48: error: no member named 'countr_zero' in namespace 'std'; did you mean '__countr_zero'?
            return Square{static_cast<u8>(std::countr_zero(state_))};
                                          ~~~~~^~~~~~~~~~~
                                               __countr_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:248:5: note: '__countr_zero' declared here
    __countr_zero(_Tp __x) noexcept
    ^
src/chess/bitboard.hpp:231:16: error: use of undeclared identifier 'ray_precomp'
        return ray_precomp<rank_diff, file_diff>[sq];
               ^
src/chess/bitboard.hpp:230:45: error: no return statement in constexpr function
    [[nodiscard]] static constexpr Bitboard get_ray_precomputed(Square sq) {
                                            ^
src/eval/../chess/bitboard.hpp:239:48: error: no member named 'countr_zero' in namespace 'std'; did you mean '__countr_zero'?
            return Square{static_cast<u8>(std::countr_zero(state_))};
                                          ~~~~~^~~~~~~~~~~
                                               __countr_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:248:5: note: '__countr_zero' declared here
    __countr_zero(_Tp __x) noexcept
    ^
src/chess/bitboard.hpp:239:48: error: no member named 'countr_zero' in namespace 'std'; did you mean '__countr_zero'?
            return Square{static_cast<u8>(std::countr_zero(state_))};
                                          ~~~~~^~~~~~~~~~~
                                               __countr_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:248:5: note: '__countr_zero' declared here
    __countr_zero(_Tp __x) noexcept
    ^
In file included from src/search/thread.cpp:1:
In file included from src/search/thread.hpp:4:
In file included from src/search/../chess/board.hpp:3:
src/search/../chess/../util/static_vector.hpp:33:23: error: no member named 'construct_at' in namespace 'std'
        T *res = std::construct_at(data() + size_, value);
                 ~~~~~^
In file included from src/data_gen/format/monty_format.cpp:1:
In file included from src/data_gen/format/monty_format.hpp:4:
In file included from src/data_gen/format/../../chess/board.hpp:3:
src/data_gen/format/../../chess/../util/static_vector.hpp:33:23: error: no member named 'construct_at' in namespace 'std'
        T *res = std::construct_at(data() + size_, value);
                 ~~~~~^
In file included from src/tests/bench.cpp:2:
In file included from src/tests/../chess/board.hpp:3:
src/tests/../chess/../util/static_vector.hpp:33:23: error: no member named 'construct_at' in namespace 'std'
        T *res = std::construct_at(data() + size_, value);
                 ~~~~~^
In file included from src/data_gen/openings.cpp:1:
In file included from src/data_gen/openings.hpp:4:
In file included from src/data_gen/../chess/board.hpp:3:
src/data_gen/../chess/../util/static_vector.hpp:33:23: error: no member named 'construct_at' in namespace 'std'
        T *res = std::construct_at(data() + size_, value);
                 ~~~~~^
In file included from src/tests/perft.cpp:1:
In file included from src/tests/perft.hpp:4:
In file included from src/tests/../chess/board.hpp:3:
src/tests/../chess/../util/static_vector.hpp:33:23: error: no member named 'construct_at' in namespace 'std'
        T *res = std::construct_at(data() + size_, value);
                 ~~~~~^
src/data_gen/format/../../chess/../util/static_vector.hppsrc/search/../chess/../util/static_vector.hpp:45:23: error: no member named 'construct_at' in namespace 'std'
        T *res = std::construct_at(data() + size_, std::forward<Args>(args)...);:45:23: error: no member named 'construct_at' in namespace 'std'

                 ~~~~~^
        T *res = std::construct_at(data() + size_, std::forward<Args>(args)...);
                 ~~~~~^
In file included from src/data_gen/format/monty_format.cpp:1:
In file included from src/data_gen/format/monty_format.hpp:4:
In file included from src/data_gen/format/../../chess/board.hpp:4:
In file included from src/data_gen/format/../../chess/board_state.hpp:6:
src/data_gen/format/../../chess/bitboard.hpp:151:76: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
In file included from     [[nodiscard]] constexpr bool operator==(Bitboard const &other) const = default;
                                                                           ^
src/search/thread.cpp:1:
In file included from src/search/thread.hpp:4:
In file included from src/search/../chess/board.hpp:4:
In file included from src/search/../chess/board_state.hpp:6:
src/search/../chess/bitboard.hpp:151:76: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
    [[nodiscard]] constexpr bool operator==(Bitboard const &other) const = default;
                                                                           ^
In file included from src/search/tree_half.cpp:2:
In file included from src/search/node.hpp:4:
src/search/../chess/move.hpp:src/tests/../chess/../util/static_vector.hppsrc/data_gen/../chess/../util/static_vector.hpp94::4567::23 : warning: error: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]no member named 'construct_at' in namespace 'std'

:45        T *res = std::construct_at(data() + size_, std::forward<Args>(args)...);:23: error: no member named 'construct_at' in namespace 'std'
    [[nodiscard]] constexpr bool operator==(Move const &) const = default;
                                                                  ^

        T *res = std::construct_at(data() + size_, std::forward<Args>(args)...);
                 ~~~~~^
                 ~~~~~^
In file included from src/chess/board.cpp:1:
In file included from src/chess/board.hpp:3:
src/chess/../util/static_vector.hpp:33:23: error: no member named 'construct_at' in namespace 'std'
        T *res = std::construct_at(data() + size_, value);
                 ~~~~~^
In file included from src/tests/bench.cpp:2:
In file included from src/tests/../chess/board.hpp:4In file included from src/data_gen/openings.cpp:1:
In file included from src/data_gen/openings.hpp:4:
In file included from src/data_gen/../chess/board.hpp:4:
In file included from src/data_gen/../chess/board_state.hpp:6:
src/data_gen/../chess/bitboard.hpp:151:76: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
:
In file included from src/tests/../chess/board_state.hpp    [[nodiscard]] constexpr bool operator==(Bitboard const &other) const = default;
                                                                           ^
:6:
src/tests/../chess/bitboard.hpp:151:76: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
    [[nodiscard]] constexpr bool operator==(Bitboard const &other) const = default;
                                                                           ^
In file included from src/uci/uci.cpp:1:
In file included from src/uci/uci.hpp:4:
In file included from src/uci/../chess/board.hpp:3:
src/uci/../chess/../util/static_vector.hpp:33:23: error: no member named 'construct_at' in namespace 'std'
        T *res = std::construct_at(data() + size_, value);
                 ~~~~~^
src/tests/../chess/../util/static_vector.hpp:45:23: error: no member named 'construct_at' in namespace 'std'
        T *res = std::construct_at(data() + size_, std::forward<Args>(args)...);
                 ~~~~~^
In file included from src/search/tree_half.cpp:2:
src/search/node.hpp:79:81: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
    [[nodiscard]] constexpr bool operator==(const TerminalState &other) const = default;
                                                                                ^
src/search/node.hpp:17:15: warning: constexpr constructor that does not initialize all members is a C++20 extension [-Wc++20-extensions]
    constexpr TerminalState() {}src/data_gen/format/../../chess/bitboard.hpp:186:39: error: no template named 'remove_cvref_t' in namespace 'std'; did you mean '__remove_cvref_t'?

              ^
src/search/node.hpp:        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||90:9: note: member not initialized by constructor
    u16 value_;
        ^

                                 ~~~~~^~~~~~~~~~~~~~
                                      __remove_cvref_t
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits:2228:5: note: '__remove_cvref_t' declared here
    using __remove_cvref_tIn file included from 
    ^
src/main.cpp:1:
In file included from src/uci/uci.hpp:4:
In file included from src/tests/perft.cpp:1:
In file included from src/tests/perft.hpp:4:
In file included from src/tests/../chess/board.hppIn file included from src/uci/../chess/board.hpp:3:
src/uci/../chess/../util/static_vector.hpp:33:23: error: no member named 'construct_at' in namespace 'std'
:4:
In file included from         T *res = std::construct_at(data() + size_, value);src/tests/../chess/board_state.hpp:6:
src/tests/../chess/bitboard.hpp:151:76: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]

                 ~~~~~^
    [[nodiscard]] constexpr bool operator==(Bitboard const &other) const = default;
                                                                           ^
src/search/../chess/bitboard.hpp:186:39: error: no template named 'remove_cvref_t' in namespace 'std'; did you mean '__remove_cvref_t'?
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                                 ~~~~~^~~~~~~~~~~~~~
                                      __remove_cvref_t
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits:2228:5: note: '__remove_cvref_t' declared here
    using __remove_cvref_t
    ^
In file included from src/search/node.cpp:1:
src/search/node.hpp:79:81: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
    [[nodiscard]] constexpr bool operator==(const TerminalState &other) const = default;
                                                                                ^
src/search/node.hpp:17:15: warning: constexpr constructor that does not initialize all members is a C++20 extension [-Wc++20-extensions]
    constexpr TerminalState() {}
              ^
src/search/node.hpp:90:9: note: member not initialized by constructor
    u16 value_;
        ^
src/chess/../util/static_vector.hpp:45:23src/data_gen/../chess/bitboard.hpp:: error: no member named 'construct_at' in namespace 'std'
186:        T *res = std::construct_at(data() + size_, std::forward<Args>(args)...);39: error: no template named 'remove_cvref_t' in namespace 'std'; did you mean '__remove_cvref_t'?

                 ~~~~~^
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                                 ~~~~~^~~~~~~~~~~~~~
                                      __remove_cvref_t
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits:2228:5: note: '__remove_cvref_t' declared here
    using __remove_cvref_t
    ^
src/tests/../chess/bitboard.hppsrc/uci/../chess/../util/static_vector.hpp::186:39: error: no template named 'remove_cvref_t' in namespace 'std'; did you mean '__remove_cvref_t'?
45:23        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||: error: no member named 'construct_at' in namespace 'std'

                                 ~~~~~^~~~~~~~~~~~~~
        T *res = std::construct_at(data() + size_, std::forward<Args>(args)...);
                 ~~~~~^
                                      __remove_cvref_t
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits:2228:5: note: '__remove_cvref_t' declared here
    using __remove_cvref_t
    ^
In file included from src/data_gen/format/monty_format.cpp:1:
In file included from src/data_gen/format/monty_format.hpp:4:
In file included from src/data_gen/format/../../chess/board.hpp:4:
In file included from src/data_gen/format/../../chess/board_state.hpp:6:
src/data_gen/format/../../chess/bitboard.hpp:186:92: error: expected ')'
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                                                                                           ^
src/data_gen/format/../../chess/bitboard.hpp:186:18: note: to match this '('
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                 ^
src/data_gen/format/../../chess/bitboard.hpp:186:24: error: parameter declarator cannot be qualified
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                  ~~~~~^
In file included from src/data_gen/format/../../chess/bitboard.hpp:186:24: error: parameter name cannot have template arguments
src/data_gen/format/../../chess/bitboard.hppsrc/chess/board.cpp:1:
In file included from src/chess/board.hpp:4:
In file included from src/chess/board_state.hpp:6:
src/chess/bitboard.hpp:151:76: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
    [[nodiscard]] constexpr bool operator==(Bitboard const &other) const = default;
                                                                           ^
:186:24: In file included from src/eval/value_network.cpperror: C++ requires a type specifier for all declarations
:src/data_gen/format/../../chess/bitboard.hpp:187:102: error: expected ')'
1:
In file included from In file included from                   (std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, int> && rank_diff == 0)) &&
src/search/thread.cpp                                                                                                     ^:
1src/data_gen/format/../../chess/bitboard.hpp:
:In file included from 186In file included from src/search/thread.hpp::src/uci/uci.cpp4:171:
::
In file included from  In file included from src/search/../chess/board.hppsrc/uci/uci.hpp:note: to match this '('4::
4In file included from 
:
src/search/../chess/board_state.hppIn file included from :6src/uci/../chess/board.hpp:
:src/search/../chess/bitboard.hpp:4186:
:        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||92In file included from 
:                ^ 
src/uci/../chess/board_state.hpperror: :6expected ')':

src/uci/../chess/bitboard.hpp:151src/data_gen/format/../../chess/bitboard.hpp::76186:: 9warning: :defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
         requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||error: 
                                                                                           ^C++ requires a type specifier for all declarations

src/search/../chess/bitboard.hppsrc/eval/value_network.hpp:4:
In file included from     [[nodiscard]] constexpr bool operator==(Bitboard const &other) const = default;src/eval/../chess/board_state.hpp
:                                                                           ^8
:
src/eval/../chess/move.hpp        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||:
94        ^:
67: warning: src/data_gen/format/../../chess/bitboard.hppdefaulted comparison operators are a C++20 extension [-Wc++20-extensions]:
190:7: error: 'nodiscard' attribute cannot be applied to types
:    [[nodiscard]] constexpr bool operator==(Move const &) const = default;
                                                                  ^
    [[nodiscard]] constexpr Bitboard shift() const {
      ^
186:18: note: to match this '('
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                 ^
src/search/../chess/bitboard.hpp:186:24src/data_gen/format/../../chess/bitboard.hpp: error: parameter declarator cannot be qualified
:190        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                  ~~~~~^
:src/search/../chess/bitboard.hpp18: error: expected ';' at end of declaration list
:186    [[nodiscard]] constexpr Bitboard shift() const {
                 ^
                 ;
:24: error: parameter name cannot have template arguments
src/search/../chess/bitboard.hpp:186:24: error: C++ requires a type specifier for all declarations
src/search/../chess/bitboard.hpp:187:102: src/data_gen/format/../../chess/bitboard.hpp:247:80: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
error: expected ')'
        [[nodiscard]] constexpr bool operator==(Iterator const &other) const = default;
                                                                               ^
                  (std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, int> && rank_diff == 0)) &&
                                                                                                     ^
src/search/../chess/bitboard.hpp:186:17: note: to match this '('
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                ^
src/search/../chess/bitboard.hpp:186:9: error: C++ requires a type specifier for all declarations
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
        ^
src/search/../chess/bitboard.hpp:190:7: error: 'nodiscard' attribute cannot be applied to types
    [[nodiscard]] constexpr Bitboard shift() const {src/uci/../chess/../util/static_vector.hpp
      ^
:45:23: error: no member named 'construct_at' in namespace 'std'
        T *res = std::construct_at(data() + size_, std::forward<Args>(args)...);
                 ~~~~~^
src/search/../chess/bitboard.hpp:190:18: error: expected ';' at end of declaration list
    [[nodiscard]] constexpr Bitboard shift() const {
                 ^
                 ;
src/search/../chess/bitboard.hpp:247:80: src/tests/../chess/bitboard.hpp:186:39: error: no template named 'remove_cvref_t' in namespace 'std'; did you mean '__remove_cvref_t'?
warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||        [[nodiscard]] constexpr bool operator==(Iterator const &other) const = default;
                                 ~~~~~^~~~~~~~~~~~~~
                                      __remove_cvref_t

                                                                               ^/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits:2228:5: note: '__remove_cvref_t' declared here

    using __remove_cvref_t
    ^
In file included from In file included from src/tests/bench.cpp:2:
In file included from src/tests/../chess/board.hpp:4:
In file included from src/tests/../chess/board_state.hpp:6:
src/tests/../chess/bitboard.hpp:186:92: error: expected ')'
src/data_gen/openings.cpp:        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||1:
In file included from src/data_gen/openings.hpp:4:
In file included from src/data_gen/../chess/board.hpp:4:
In file included from src/data_gen/../chess/board_state.hpp:6:
src/data_gen/../chess/bitboard.hpp:186:92: error: expected ')'

                                                                                           ^
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||src/tests/../chess/bitboard.hpp:186:18: note: to match this '('

                                                                                           ^        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
src/data_gen/../chess/bitboard.hpp:186:18: note: to match this '('

                 ^
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                 ^
src/tests/../chess/bitboard.hpp:src/data_gen/../chess/bitboard.hpp:186:24: error: parameter declarator cannot be qualified
186:24:        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                  ~~~~~^
 error: src/data_gen/../chess/bitboard.hpp:186:24: error: parameter name cannot have template arguments
src/data_gen/../chess/bitboard.hppparameter declarator cannot be qualified
:186        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||:24: error: C++ requires a type specifier for all declarations

src/data_gen/../chess/bitboard.hpp                  ~~~~~^
src/tests/../chess/bitboard.hpp:186:24: error: parameter name cannot have template arguments
src/tests/../chess/bitboard.hppIn file included from :src/main.cpp187::1102:
:In file included from  src/uci/uci.hpperror: expected ')':
4:
In file included from src/uci/../chess/board.hpp:4:
In file included from src/uci/../chess/board_state.hpp:6:
src/uci/../chess/bitboard.hpp:151:76: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
:                  (std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, int> && rank_diff == 0)) &&
                                                                                                     ^
src/data_gen/../chess/bitboard.hpp:186:17: note: to match this '('
186    [[nodiscard]] constexpr bool operator==(Bitboard const &other) const = default;:24: error: C++ requires a type specifier for all declarations

        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                ^
src/tests/../chess/bitboard.hpp                                                                           ^
:src/data_gen/../chess/bitboard.hpp187:102: error: expected ')'
:186:                  (std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, int> && rank_diff == 0)) &&
                                                                                                     ^
src/tests/../chess/bitboard.hpp:186:17: note: to match this '('
9:        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> || error: C++ requires a type specifier for all declarations

                ^
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
        ^
src/data_gen/../chess/bitboard.hppsrc/tests/../chess/bitboard.hpp:190:7: error: 'nodiscard' attribute cannot be applied to types
:186    [[nodiscard]] constexpr Bitboard shift() const {
      ^
:9: error: C++ requires a type specifier for all declarations
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
        ^
src/tests/../chess/bitboard.hpp:190:7: error: 'nodiscard' attribute cannot be applied to types
    [[nodiscard]] constexpr Bitboard shift() const {src/data_gen/../chess/bitboard.hpp:190:18: error: expected ';' at end of declaration list

      ^    [[nodiscard]] constexpr Bitboard shift() const {

                 ^
In file included from src/eval/policy_network.cpp:1:
In file included from src/eval/policy_network.hpp:4:
In file included from src/eval/../chess/board_state.hpp:8:
src/eval/../chess/move.hpp:94:67: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
                 ;
    [[nodiscard]] constexpr bool operator==(Move const &) const = default;
                                                                  ^
src/tests/../chess/bitboard.hpp:190:18: error: expected ';' at end of declaration list
    [[nodiscard]] constexpr Bitboard shift() const {
                 ^
                 ;
src/data_gen/../chess/bitboard.hpp:247:80: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
        [[nodiscard]] constexpr bool operator==(Iterator const &other) const = default;
                                                                               ^
src/tests/../chess/bitboard.hpp:247:80: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
        [[nodiscard]] constexpr bool operator==(Iterator const &other) const = default;
                                                                               ^
src/uci/../chess/bitboard.hpp:186:39: error: no template named 'remove_cvref_t' in namespace 'std'; did you mean '__remove_cvref_t'?
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||In file included from src/eval/networks.cpp:2:
In file included from src/eval/policy_network.hpp:4:
In file included from src/eval/../chess/board_state.hpp:8:
src/eval/../chess/move.hpp:94:67: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]

                                 ~~~~~^~~~~~~~~~~~~~    [[nodiscard]] constexpr bool operator==(Move const &) const = default;
                                      __remove_cvref_t

/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits:2228:5: note: '__remove_cvref_t' declared here
                                                                  ^    using __remove_cvref_t
    ^

src/chess/bitboard.hpp:186:In file included from src/tests/perft.cpp:1:
In file included from src/tests/perft.hpp:4:
In file included from src/tests/../chess/board.hpp:4:
In file included from src/tests/../chess/board_state.hpp:6:
src/tests/../chess/bitboard.hpp:186:92: error: expected ')'
39:         requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                                                                                           ^
src/tests/../chess/bitboard.hpperror: no template named 'remove_cvref_t' in namespace 'std'; did you mean '__remove_cvref_t'?
:186:18        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||: note: to match this '('

                                 ~~~~~^~~~~~~~~~~~~~        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                 ^

src/tests/../chess/bitboard.hpp                                      __remove_cvref_t
:186:/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits:2228:5: note: '__remove_cvref_t' declared here
24    using __remove_cvref_t: error: parameter declarator cannot be qualified

    ^        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||

                  ~~~~~^
src/tests/../chess/bitboard.hpp:186:24: error: parameter name cannot have template arguments
src/tests/../chess/bitboard.hpp:186:24: error: C++ requires a type specifier for all declarations
src/tests/../chess/bitboard.hpp:187:102: error: expected ')'
                  (std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, int> && rank_diff == 0)) &&
                                                                                                     ^
src/tests/../chess/bitboard.hpp:186:17: note: to match this '('
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                ^
src/tests/../chess/bitboard.hpp:186:9: error: C++ requires a type specifier for all declarations
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
        ^
src/tests/../chess/bitboard.hpp:190:7: error: 'nodiscard' attribute cannot be applied to types
    [[nodiscard]] constexpr Bitboard shift() const {
      ^
In file included from src/search/game_tree.cpp:1:
In file included from src/search/game_tree.hpp:4:
In file included from src/search/../chess/board.hpp:3:
src/search/../chess/../util/static_vector.hpp:33:23: error: no member named 'construct_at' in namespace 'std'src/tests/../chess/bitboard.hpp:190:18: error: expected ';' at end of declaration list

    [[nodiscard]] constexpr Bitboard shift() const {
                 ^
        T *res = std::construct_at(data() + size_, value);                 ;

                 ~~~~~^
src/tests/../chess/bitboard.hpp:247:80: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
        [[nodiscard]] constexpr bool operator==(Iterator const &other) const = default;
                                                                               ^
src/uci/../chess/bitboard.hpp:186:39: error: no template named 'remove_cvref_t' in namespace 'std'; did you mean '__remove_cvref_t'?
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                                 ~~~~~^~~~~~~~~~~~~~In file included from src/uci/uci.cpp
                                      __remove_cvref_t
:/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits:2228:5: note: '__remove_cvref_t' declared here
    using __remove_cvref_t
    ^
1:
In file included from src/uci/uci.hpp:4:
In file included from src/uci/../chess/board.hpp:4:
In file included from src/uci/../chess/board_state.hpp:6:
src/uci/../chess/bitboard.hpp:186:92In file included from : error: expected ')'
src/chess/board_state.cpp        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||:1:
In file included from src/chess/board_state.hpp:8:
src/chess/move.hpp:94:67: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]

                                                                                           ^
    [[nodiscard]] constexpr bool operator==(Move const &) const = default;
                                                                  ^
src/uci/../chess/bitboard.hpp:186:18: note: to match this '('
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                 ^
src/uci/../chess/bitboard.hpp:186:24: error: parameter declarator cannot be qualified
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                  ~~~~~^
src/uci/../chess/bitboard.hpp:186:24: error: parameter name cannot have template arguments
src/uci/../chess/bitboard.hppIn file included from src/chess/board.cpp:1:
In file included from src/chess/board.hpp:4:
In file included from src/chess/board_state.hpp:6:
src/chess/bitboard.hpp:186:92: error: expected ')'
:186:        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                                                                                           ^
src/chess/bitboard.hpp24: error: C++ requires a type specifier for all declarations
src/uci/../chess/bitboard.hpp:186:18: note: to match this '('
:187        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                 ^
:102:src/chess/bitboard.hpp:186:24: error: parameter declarator cannot be qualified
 error: expected ')'        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                  ~~~~~^

src/chess/bitboard.hpp:186:24: error: parameter name cannot have template arguments
src/chess/bitboard.hpp:186                  (std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, int> && rank_diff == 0)) &&
                                                                                                     ^
src/uci/../chess/bitboard.hpp:24: error: C++ requires a type specifier for all declarations
:src/chess/bitboard.hpp:187:102: error: expected ')'
186:17                  (std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, int> && rank_diff == 0)) &&
                                                                                                     ^
src/chess/bitboard.hpp: note: to match this '('
:186        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||:17: note: to match this '('

                ^        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||

                ^src/uci/../chess/bitboard.hpp:186:9: error: C++ requires a type specifier for all declarations

        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||src/chess/bitboard.hpp:186:9: error: C++ requires a type specifier for all declarations

        ^
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
        ^
src/chess/bitboard.hppsrc/uci/../chess/bitboard.hpp:190:7: error: 'nodiscard' attribute cannot be applied to types
:    [[nodiscard]] constexpr Bitboard shift() const {190:7: error: 'nodiscard' attribute cannot be applied to types

    [[nodiscard]] constexpr Bitboard shift() const {      ^

      ^
src/uci/../chess/bitboard.hpp:190:src/chess/bitboard.hpp18: error: expected ';' at end of declaration list
:    [[nodiscard]] constexpr Bitboard shift() const {190:18: error: expected ';' at end of declaration list

                 ^    [[nodiscard]] constexpr Bitboard shift() const {
                 ^
                 ;

                 ;
src/chess/bitboard.hppsrc/data_gen/format/../../chess/bitboard.hpp:26:21: error: no member named 'popcount' in namespace 'std'; did you mean '__popcount'?
:        return std::popcount(raw_);247:80: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]

               ~~~~~^~~~~~~~src/uci/../chess/bitboard.hpp        [[nodiscard]] constexpr bool operator==(Iterator const &other) const = default;

                    __popcount                                                                               ^

/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:289:5: note: '__popcount' declared here
:    __popcount(_Tp __x) noexcept
    ^
247:80: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
        [[nodiscard]] constexpr bool operator==(Iterator const &other) const = default;
                                                                               ^
src/search/../chess/bitboard.hpp:26:21: error: no member named 'popcount' in namespace 'std'; did you mean '__popcount'?
        return std::popcount(raw_);
               ~~~~~^~~~~~~~
                    __popcount
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:289:5: note: '__popcount' declared here
    __popcount(_Tp __x) noexcept
    ^
In file included from src/main.cpp:1:
In file included from src/uci/uci.hpp:4:
In file included from src/uci/../chess/board.hpp:4:
In file included from src/uci/../chess/board_state.hpp:6:
src/uci/../chess/bitboard.hpp:186:92: error: expected ')'
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                                                                                           ^
src/uci/../chess/bitboard.hpp:186:18: note: to match this '('
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||src/search/../chess/../util/static_vector.hpp:45:23: error: no member named 'construct_at' in namespace 'std'

                 ^
        T *res = std::construct_at(data() + size_, std::forward<Args>(args)...);src/uci/../chess/bitboard.hpp
                 ~~~~~^
:186:24: error: parameter declarator cannot be qualified
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                  ~~~~~^
src/uci/../chess/bitboard.hpp:186:24: error: parameter name cannot have template arguments
src/uci/../chess/bitboard.hpp:186:24: error: C++ requires a type specifier for all declarations
src/uci/../chess/bitboard.hpp:187:102: error: expected ')'
                  (std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, int> && rank_diff == 0)) &&
                                                                                                     ^
src/uci/../chess/bitboard.hpp:186:17: note: to match this '('
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                ^
src/uci/../chess/bitboard.hpp:186:9: error: C++ requires a type specifier for all declarations
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
        ^
src/uci/../chess/bitboard.hpp:190:7: error: 'nodiscard' attribute cannot be applied to types
    [[nodiscard]] constexpr Bitboard shift() const {src/data_gen/../chess/bitboard.hpp:
      ^
26:21: error: no member named 'popcount' in namespace 'std'; did you mean '__popcount'?
        return std::popcount(raw_);
               ~~~~~^~~~~~~~
                    __popcount
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:src/uci/../chess/bitboard.hpp289:5: note: '__popcount' declared here
:    __popcount(_Tp __x) noexcept190:18: error: expected ';' at end of declaration list

    ^    [[nodiscard]] constexpr Bitboard shift() const {
                 ^
                 ;

src/uci/../chess/bitboard.hpp:247:80: warning: In file included from defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
src/search/game_tree.cpp        [[nodiscard]] constexpr bool operator==(Iterator const &other) const = default;
                                                                               ^
:1:
In file included from src/search/game_tree.hpp:4:
In file included from src/search/../chess/board.hpp:4:
In file included from src/search/../chess/board_state.hpp:6:
src/search/../chess/bitboard.hpp:151:76: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
    [[nodiscard]] constexpr bool operator==(Bitboard const &other) const = default;
                                                                           ^
src/tests/../chess/bitboard.hpp:26:21: error: no member named 'popcount' in namespace 'std'; did you mean '__popcount'?
        return std::popcount(raw_);
               ~~~~~^~~~~~~~
                    __popcount
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:289:5: note: '__popcount' declared here
    __popcount(_Tp __x) noexcept
    ^
In file included from src/data_gen/format/monty_format.cpp:1:
In file included from src/data_gen/format/monty_format.hpp:4:
In file included from src/data_gen/format/../../chess/board.hpp:4:
In file included from src/data_gen/format/../../chess/board_state.hpp:6:
src/data_gen/format/../../chess/bitboard.hpp:30:21: error: no member named 'countr_zero' in namespace 'std'; did you mean '__countr_zero'?
        return std::countr_zero(raw_);
               ~~~~~^~~~~~~~~~~
                    __countr_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:248:5: note: '__countr_zero' declared here
    __countr_zero(_Tp __x) noexcept
    ^
In file included from src/data_gen/game_runner.cpp:1:
In file included from src/data_gen/game_runner.hpp:4:
In file included from src/data_gen/../search/searcher.hpp:4:
In file included from src/data_gen/../search/../chess/board.hpp:3:
src/data_gen/../search/../chess/../util/static_vector.hpp:33:23: error: no member named 'construct_at' in namespace 'std'
In file included from         T *res = std::construct_at(data() + size_, value);src/search/thread.cpp:1:
In file included from src/search/thread.hpp:4:
In file included from src/search/../chess/board.hpp:4:
In file included from src/search/../chess/board_state.hpp:6:
src/search/../chess/bitboard.hpp:30:21: error: no member named 'countr_zero' in namespace 'std'; did you mean '__countr_zero'?

                 ~~~~~^        return std::countr_zero(raw_);

               ~~~~~^~~~~~~~~~~
                    __countr_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:248:5: note: '__countr_zero' declared here
    __countr_zero(_Tp __x) noexcept
    ^
src/tests/../chess/bitboard.hpp:26:21: error: no member named 'popcount' in namespace 'std'; did you mean '__popcount'?
        return std::popcount(raw_);
               ~~~~~^~~~~~~~
                    __popcount
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:289:5: note: '__popcount' declared here
    __popcount(_Tp __x) noexcept
    ^
In file included from src/data_gen/openings.cpp:1:
In file included from src/data_gen/openings.hpp:4:
In file included from src/data_gen/../chess/board.hpp:4:
In file included from src/data_gen/../chess/board_state.hpp:6:
src/data_gen/../chess/bitboard.hpp:30:21: error: no member named 'countr_zero' in namespace 'std'; did you mean '__countr_zero'?
        return std::countr_zero(raw_);
               ~~~~~^~~~~~~~~~~
                    __countr_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:248:5: note: '__countr_zero' declared here
    __countr_zero(_Tp __x) noexcept
    ^
In file included from src/search/searcher.cpp:1:
In file included from src/search/searcher.hpp:4:
In file included from src/search/../chess/board.hpp:3:
src/search/../chess/../util/static_vector.hpp:33:23: error: no member named 'construct_at' in namespace 'std'
        T *res = std::construct_at(data() + size_, value);
                 ~~~~~^
src/uci/../chess/bitboard.hppsrc/search/../chess/bitboard.hpp:186:39: error: no template named 'remove_cvref_t' in namespace 'std'; did you mean '__remove_cvref_t'?
:26:In file included from src/data_gen/format/monty_format.cpp:1:
In file included from src/data_gen/format/monty_format.hpp:4:
In file included from src/data_gen/format/../../chess/board.hpp:4        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
:
                                 ~~~~~^~~~~~~~~~~~~~In file included from 
                                      __remove_cvref_t
src/data_gen/format/../../chess/board_state.hpp:6:
src/data_gen/format/../../chess/bitboard.hpp:34:33:/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits :error: 2228:no member named 'countl_zero' in namespace 'std'; did you mean '__countl_zero'?5
: note: '__remove_cvref_t' declared here
21:    using __remove_cvref_t        return raw_ ? 63 - std::countl_zero(raw_) : 64;
    ^

                           ~~~~~^~~~~~~~~~~ error: no member named 'popcount' in namespace 'std'; did you mean '__popcount'?
                                __countl_zero

/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:195:5: note: '__countl_zero' declared here
    __countl_zero(_Tp __x) noexcept        return std::popcount(raw_);
               ~~~~~^~~~~~~~
                    __popcount

/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:289:5: note: '__popcount' declared here
    ^    __popcount(_Tp __x) noexcept
    ^

In file included from src/search/thread.cpp:1:
In file included from src/search/thread.hpp:4:
In file included from src/search/../chess/board.hpp:4:
In file included from src/search/../chess/board_state.hpp:6:
src/search/../chess/bitboard.hpp:In file included from src/chess/move_gen.cpp:1:
In file included from src/chess/move_gen.hpp:4:
src/chess/../util/static_vector.hpp:33:23: error: no member named 'construct_at' in namespace 'std'
34:33: error:         T *res = std::construct_at(data() + size_, value);
                 ~~~~~^
no member named 'countl_zero' in namespace 'std'; did you mean '__countl_zero'?
        return raw_ ? 63 - std::countl_zero(raw_) : 64;
                           ~~~~~^~~~~~~~~~~
                                __countl_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:195:5: note: '__countl_zero' declared hereIn file included from src/tests/bench.cpp:2:
In file included from src/tests/../chess/board.hpp:4:
In file included from src/tests/../chess/board_state.hpp:6:
src/tests/../chess/bitboard.hpp:30:21: error: no member named 'countr_zero' in namespace 'std'; did you mean '__countr_zero'?

        return std::countr_zero(raw_);    __countl_zero(_Tp __x) noexcept
    ^

               ~~~~~^~~~~~~~~~~
                    __countr_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:248:5: note: '__countr_zero' declared here
    __countr_zero(_Tp __x) noexcept
    ^
src/data_gen/../search/../chess/../util/static_vector.hpp:45:23: error: no member named 'construct_at' in namespace 'std'
        T *res = std::construct_at(data() + size_, std::forward<Args>(args)...);
                 ~~~~~^
In file included from src/tests/perft.cpp:1src/chess/bitboard.hpp:26:
In file included from src/tests/perft.hpp:4:
In file included from src/tests/../chess/board.hpp:4:
In file included from src/tests/../chess/board_state.hpp:6:
src/tests/../chess/bitboard.hpp:30:21: error: no member named 'countr_zero' in namespace 'std'; did you mean '__countr_zero'?
:        return std::countr_zero(raw_);21: error: no member named 'popcount' in namespace 'std'; did you mean '__popcount'?

               ~~~~~^~~~~~~~~~~
        return std::popcount(raw_);                    __countr_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:248:5: note: '__countr_zero' declared here

    __countr_zero(_Tp __x) noexcept
    ^
               ~~~~~^~~~~~~~
                    __popcount
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:289:5: note: '__popcount' declared here
    __popcount(_Tp __x) noexcept
    ^
In file included from src/data_gen/openings.cpp:In file included from src/data_gen/game_runner.cpp:1:
In file included from src/data_gen/game_runner.hpp:4:
In file included from src/data_gen/../search/searcher.hpp:4:
In file included from src/data_gen/../search/../chess/board.hpp:4:
In file included from src/data_gen/../search/../chess/board_state.hpp:6:
src/data_gen/../search/../chess/bitboard.hpp:151:76: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
1:
    [[nodiscard]] constexpr bool operator==(Bitboard const &other) const = default;In file included from src/data_gen/openings.hpp:4:
In file included from src/data_gen/../chess/board.hpp:4:
In file included from src/data_gen/../chess/board_state.hpp:6:
src/data_gen/../chess/bitboard.hpp:34:33: error: no member named 'countl_zero' in namespace 'std'; did you mean '__countl_zero'?

                                                                           ^
        return raw_ ? 63 - std::countl_zero(raw_) : 64;
                           ~~~~~^~~~~~~~~~~
                                __countl_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:195:5:src/uci/../chess/bitboard.hpp: note: '__countl_zero' declared here
    __countl_zero(_Tp __x) noexcept26:21: error: no member named 'popcount' in namespace 'std'; did you mean '__popcount'?

    ^        return std::popcount(raw_);

               ~~~~~^~~~~~~~
                    __popcount
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:289:5: note: '__popcount' declared here
    __popcount(_Tp __x) noexcept
    ^
In file included from src/search/game_tree.cpp:1:
In file included from src/search/game_tree.hpp:4:
In file included from src/search/../chess/board.hpp:4:
In file included from src/search/../chess/board_state.hpp:6:
src/search/../chess/bitboard.hpp:186:92: error: expected ')'
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                                                                                           ^
src/search/../chess/bitboard.hpp:186:18: note: to match this '('
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                 ^
src/search/../chess/bitboard.hpp:186:24: error: parameter declarator cannot be qualified
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                  ~~~~~^
src/search/../chess/bitboard.hpp:186:24: error: parameter name cannot have template arguments
src/search/../chess/bitboard.hpp:186:24: error: C++ requires a type specifier for all declarations
src/search/../chess/bitboard.hpp:187:102: error: expected ')'
                  (std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, int> && rank_diff == 0)) &&
In file included from                                                                                                      ^
src/search/../chess/bitboard.hpp:186:17: note: to match this '('
src/uci/uci.cpp        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||:1:
In file included from src/uci/uci.hpp:4:
In file included from src/uci/../chess/board.hpp:4:
In file included from src/uci/../chess/board_state.hpp
                ^
:6src/search/../chess/bitboard.hpp:
src/uci/../chess/bitboard.hpp:30:21: error: :186:9: error: C++ requires a type specifier for all declarations
In file included from no member named 'countr_zero' in namespace 'std'; did you mean '__countr_zero'?
src/chess/magics.cpp        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
        ^        return std::countr_zero(raw_);

               ~~~~~^~~~~~~~~~~
                    __countr_zero
:/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bitsrc/search/../chess/bitboard.hpp::248190::57::  note: error: '__countr_zero' declared here'nodiscard' attribute cannot be applied to types

2    __countr_zero(_Tp __x) noexcept
    ^
    [[nodiscard]] constexpr Bitboard shift() const {
      ^
:
In file included from src/chess/move_gen.hpp:4:
src/chess/../util/static_vector.hpp:33:23: error: no member named 'construct_at' in namespace 'std'
        T *res = std::construct_at(data() + size_, value);
                 ~~~~~^
src/search/../chess/bitboard.hpp:190:18: error: expected ';' at end of declaration list
    [[nodiscard]] constexpr Bitboard shift() const {
                 ^
                 ;
src/search/../chess/../util/static_vector.hpp:45src/search/../chess/bitboard.hpp:247:80: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
:23: error: no member named 'construct_at' in namespace 'std'
        [[nodiscard]] constexpr bool operator==(Iterator const &other) const = default;
        T *res = std::construct_at(data() + size_, std::forward<Args>(args)...);                                                                               ^

                 ~~~~~^
src/chess/../util/static_vector.hppIn file included from :45:23: error: no member named 'construct_at' in namespace 'std'
src/tests/perft.cpp:        T *res = std::construct_at(data() + size_, std::forward<Args>(args)...);1:
In file included from src/tests/perft.hpp:4:
In file included from src/tests/../chess/board.hpp:4:
In file included from src/tests/../chess/board_state.hpp:6:
src/tests/../chess/bitboard.hpp:34:33: error: no member named 'countl_zero' in namespace 'std'; did you mean '__countl_zero'?

                 ~~~~~^
        return raw_ ? 63 - std::countl_zero(raw_) : 64;
                           ~~~~~^~~~~~~~~~~
                                __countl_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:195:5: note: '__countl_zero' declared here
    __countl_zero(_Tp __x) noexcept
    ^
In file included from src/tests/bench.cpp:2:
In file included from src/tests/../chess/board.hpp:4:
In file included from src/tests/../chess/board_state.hpp:6:
src/tests/../chess/bitboard.hpp:34:33: error: no member named 'countl_zero' in namespace 'std'; did you mean '__countl_zero'?
        return raw_ ? 63 - std::countl_zero(raw_) : 64;
                           ~~~~~^~~~~~~~~~~
                                __countl_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:195:5: note: '__countl_zero' declared here
    __countl_zero(_Tp __x) noexcept
    ^
In file included from src/search/searcher.cpp:1:
In file included from src/search/searcher.hpp:4:
In file included from src/search/../chess/board.hpp:4:
In file included from src/search/../chess/board_state.hpp:6:
src/search/../chess/bitboard.hpp:151:76: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
    [[nodiscard]] constexpr bool operator==(Bitboard const &other) const = default;
                                                                           ^
In file included from src/chess/move_gen.cpp:1:
In file included from src/chess/move_gen.hpp:5:
src/chess/bitboard.hpp:151:76: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
    [[nodiscard]] constexpr bool operator==(Bitboard const &other) const = default;
                                                                           ^
In file included from src/chess/board.cpp:1:
In file included from src/chess/board.hpp:4:
In file included from src/chess/board_state.hpp:6:
src/chess/bitboard.hpp:30:21: error: no member named 'countr_zero' in namespace 'std'; did you mean '__countr_zero'?
        return std::countr_zero(raw_);
               ~~~~~^~~~~~~~~~~
                    __countr_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:248:5: note: '__countr_zero' declared here
    __countr_zero(_Tp __x) noexceptIn file included from 
    ^
src/main.cpp:1:
In file included from src/uci/uci.hpp:4:
In file included from src/uci/../chess/board.hpp:4:
In file included from src/uci/../chess/board_state.hpp:6:
src/uci/../chess/bitboard.hpp:30:21: error: no member named 'countr_zero' in namespace 'std'; did you mean '__countr_zero'?
        return std::countr_zero(raw_);
               ~~~~~^~~~~~~~~~~
                    __countr_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:248:5: note: '__countr_zero' declared here
    __countr_zero(_Tp __x) noexcept
    ^
In file included from src/uci/uci.cpp:1:
In file included from src/uci/uci.hpp:4:
In file included from src/uci/../chess/board.hpp:4:
In file included from src/uci/../chess/board_state.hpp:6:
src/uci/../chess/bitboard.hpp:34:33: error: no member named 'countl_zero' in namespace 'std'; did you mean '__countl_zero'?
        return raw_ ? 63 - std::countl_zero(raw_) : 64;
                           ~~~~~^~~~~~~~~~~
                                __countl_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:195:5: note: '__countl_zero' declared here
    __countl_zero(_Tp __x) noexcept
    ^
src/data_gen/../search/../chess/bitboard.hpp:186:39: error: no template named 'remove_cvref_t' in namespace 'std'; did you mean '__remove_cvref_t'?
fatal error:         requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                                 ~~~~~^~~~~~~~~~~~~~
                                      __remove_cvref_t
too many errors emitted, stopping now [-ferror-limit=]/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traitsIn file included from :2228src/data_gen/format/monty_format.cpp:5::1 :
note: In file included from '__remove_cvref_t' declared heresrc/data_gen/format/monty_format.hpp
:4:
    using __remove_cvref_tIn file included from 
src/data_gen/format/../../chess/board.hpp:    ^4:

In file included from src/data_gen/format/../../chess/board_state.hpp:6:
src/data_gen/format/../../chess/bitboard.hpp:38:21: error: 
no member named 'rotl' in namespace 'std'
        return std::rotl(raw_, shift);
In file included from src/search/thread.cpp               ~~~~~^
:1:
In file included from src/search/thread.hpp:4:
In file included from src/search/../chess/board.hpp:4:
In file included from src/search/../chess/board_state.hpp:6:
src/search/../chess/bitboard.hpp:38:21: error: no member named 'rotl' in namespace 'std'
        return std::rotl(raw_, shift);
               ~~~~~^
src/search/../chess/bitboard.hpp:186:39: error: no template named 'remove_cvref_t' in namespace 'std'; did you mean '__remove_cvref_t'?
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                                 ~~~~~^~~~~~~~~~~~~~
                                      __remove_cvref_t
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits:2228:5: note: '__remove_cvref_t' declared here
    using __remove_cvref_t
    ^
In file included from src/data_gen/openings.cpp:1:
In file included from src/data_gen/openings.hpp:4:
In file included from src/data_gen/../chess/board.hpp:4:
In file included from src/data_gen/../chess/board_state.hpp:6:
src/data_gen/../chess/bitboard.hpp:38:21: error: no member named 'rotl' in namespace 'std'
        return std::rotl(raw_, shift);
               ~~~~~^
In file included from src/chess/board.cpp:1:
In file included from src/chess/board.hpp:4:
In file included from src/chess/board_state.hpp:6:
src/chess/bitboard.hpp:34:33: error: no member named 'countl_zero' in namespace 'std'; did you mean '__countl_zero'?
        return raw_ ? 63 - std::countl_zero(raw_) : 64;
                           ~~~~~^~~~~~~~~~~
                                __countl_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bitIn file included from :195:5: note: '__countl_zero' declared here
src/data_gen/game_runner.cpp    __countl_zero(_Tp __x) noexcept
    ^
:1:
In file included from src/data_gen/game_runner.hpp:4:
In file included from src/data_gen/../search/searcher.hpp:4:
In file included from src/data_gen/../search/../chess/board.hpp:4:
In file included from src/data_gen/../search/../chess/board_state.hpp:6:
src/data_gen/../search/../chess/bitboard.hpp:186:92: error: expected ')'
In file included from         requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||src/main.cpp:1:
In file included from src/uci/uci.hpp:4:
In file included from src/uci/../chess/board.hpp:4:
In file included from src/uci/../chess/board_state.hpp:6:
src/uci/../chess/bitboard.hpp
                                                                                           ^
:src/data_gen/../search/../chess/bitboard.hpp:186:18: note: to match this '('
34:33        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                 ^
: error: no member named 'countl_zero' in namespace 'std'; did you mean '__countl_zero'?
src/data_gen/../search/../chess/bitboard.hpp:186:24: error: parameter declarator cannot be qualified
        return raw_ ? 63 - std::countl_zero(raw_) : 64;        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                  ~~~~~^

src/data_gen/../search/../chess/bitboard.hpp                           ~~~~~^~~~~~~~~~~
                                __countl_zero
:/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit186:24: error: parameter name cannot have template arguments
:src/data_gen/../search/../chess/bitboard.hpp:186:24: error: C++ requires a type specifier for all declarations
195:src/data_gen/../search/../chess/bitboard.hpp5: note: '__countl_zero' declared here
:    __countl_zero(_Tp __x) noexcept187:102: error: expected ')'

    ^
                  (std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, int> && rank_diff == 0)) &&
                                                                                                     ^
src/data_gen/../search/../chess/bitboard.hpp:186:17: note: to match this '('
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                ^
src/data_gen/../search/../chess/bitboard.hpp:In file included from src/chess/move.cpp186:9: error: C++ requires a type specifier for all declarations
:2:
In file included from         requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
        ^src/chess/../uci/uci.hpp:4:
In file included from src/chess/../uci/../chess/board.hpp:3:
src/chess/../util/static_vector.hpp:33:23: error: no member named 'construct_at' in namespace 'std'

        T *res = std::construct_at(data() + size_, value);src/data_gen/../search/../chess/bitboard.hpp:190:7: error: 'nodiscard' attribute cannot be applied to types

                 ~~~~~^    [[nodiscard]] constexpr Bitboard shift() const {
      ^

src/chess/bitboard.hpp:186:39: error: no template named 'remove_cvref_t' in namespace 'std'; did you mean '__remove_cvref_t'?
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                                 ~~~~~^~~~~~~~~~~~~~
                                      __remove_cvref_t
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits:2228:5src/data_gen/../search/../chess/bitboard.hpp:190:18: error: expected ';' at end of declaration list
: note:     [[nodiscard]] constexpr Bitboard shift() const {
                 ^
                 ;
'__remove_cvref_t' declared here
    using __remove_cvref_t
    ^
src/data_gen/../search/../chess/bitboard.hpp:247:80: In file included from src/tests/perft.cpp:1:
In file included from src/tests/perft.hpp:4:
In file included from src/tests/../chess/board.hpp:4:
In file included from src/tests/../chess/board_state.hpp:6:
src/tests/../chess/bitboard.hpp:38:21: error: no member named 'rotl' in namespace 'std'
warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]        return std::rotl(raw_, shift);

        [[nodiscard]] constexpr bool operator==(Iterator const &other) const = default;
                                                                               ^
               ~~~~~^
src/search/../chess/bitboard.hpp:26:21: error: no member named 'popcount' in namespace 'std'; did you mean '__popcount'?
        return std::popcount(raw_);
               ~~~~~^~~~~~~~
                    __popcount
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:289:5: note: '__popcount' declared here
    __popcount(_Tp __x) noexcept
    ^
In file included from src/search/searcher.cpp:1:
In file included from src/search/searcher.hpp:4:
In file included from src/search/../chess/board.hpp:4:
In file included from src/search/../chess/board_state.hpp:6:
src/search/../chess/bitboard.hpp:186:92: error: expected ')'
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                                                                                           ^
src/search/../chess/bitboard.hpp:186:18: note: to match this '('
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                 ^
src/search/../chess/bitboard.hpp:186:24: error: parameter declarator cannot be qualified
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                  ~~~~~^
src/search/../chess/bitboard.hpp:186:24: error: parameter name cannot have template arguments
src/search/../chess/bitboard.hpp:186:24: error: C++ requires a type specifier for all declarations
src/search/../chess/bitboard.hpp:187:102: error: expected ')'
                  (std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, int> && rank_diff == 0)) &&
                                                                                                     ^
src/search/../chess/bitboard.hpp:186:17: note: to match this '('
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                ^
src/search/../chess/bitboard.hpp:186:9: error: C++ requires a type specifier for all declarations
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
        ^
src/search/../chess/bitboard.hpp:190:7: error: 'nodiscard' attribute cannot be applied to types
    [[nodiscard]] constexpr Bitboard shift() const {
      ^
In file included from src/tests/bench.cpp:src/search/../chess/bitboard.hpp:190:18: error: expected ';' at end of declaration list
2:
    [[nodiscard]] constexpr Bitboard shift() const {In file included from src/tests/../chess/board.hpp:4:
In file included from src/tests/../chess/board_state.hpp:6:
src/tests/../chess/bitboard.hpp:38:21: error: no member named 'rotl' in namespace 'std'
                 ^

        return std::rotl(raw_, shift);                 ;

               ~~~~~^
src/search/../chess/bitboard.hpp:247:80: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
        [[nodiscard]] constexpr bool operator==(Iterator const &other) const = default;
                                                                               ^
In file included from src/uci/uci.cpp:1src/search/../chess/bitboard.hpp:42:21: error: :
In file included from src/uci/uci.hpp:4:
In file included from src/uci/../chess/board.hpp:4:
In file included from src/uci/../chess/board_state.hpp:6:
src/uci/../chess/bitboard.hpp:38:21: error: no member named 'rotl' in namespace 'std'
no member named 'rotr' in namespace 'std'
        return std::rotl(raw_, shift);
               ~~~~~^
        return std::rotr(raw_, shift);
               ~~~~~^
src/search/../chess/bitboard.hpp:58:28: error: invalid operands to binary expression ('Bitboard' and 'int')
        return (bb & raw_) != 0;
               ~~~~~~~~~~~ ^  ~
In file included from src/chess/move_gen.cpp:1:
In file included from src/chess/move_gen.hpp:5:
src/chess/bitboard.hpp:186:92: error: expected ')'
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                                                                                           ^
src/chess/bitboard.hpp:186:18: note: to match this '('
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                 ^
src/chess/bitboard.hppsrc/chess/../util/static_vector.hpp:186:24: error: parameter declarator cannot be qualified
:        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                  ~~~~~^
45:src/chess/bitboard.hpp:186:24: error: parameter name cannot have template arguments
23src/chess/bitboard.hpp:186:24: error: C++ requires a type specifier for all declarations
: src/chess/bitboard.hpp:187:102: error: expected ')'
error: no member named 'construct_at' in namespace 'std'
                  (std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, int> && rank_diff == 0)) &&
                                                                                                     ^
src/chess/bitboard.hpp:186:17: note: to match this '('
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||        T *res = std::construct_at(data() + size_, std::forward<Args>(args)...);
                 ~~~~~^

                ^
src/chess/bitboard.hpp:186:9: error: C++ requires a type specifier for all declarations
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
        ^
src/chess/bitboard.hpp:190:7: error: 'nodiscard' attribute cannot be applied to types
    [[nodiscard]] constexpr Bitboard shift() const {
      ^
src/data_gen/format/../../chess/bitboard.hpp:42:21: error: no member named 'rotr' in namespace 'std'src/chess/bitboard.hpp
:190        return std::rotr(raw_, shift);
               ~~~~~^
:18: error: expected ';' at end of declaration list
    [[nodiscard]] constexpr Bitboard shift() const {
                 ^
                 ;
src/chess/bitboard.hpp:247:80: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
        [[nodiscard]] constexpr bool operator==(Iterator const &other) const = default;
                                                                               ^
src/data_gen/format/../../chess/bitboard.hpp:58:28: error: invalid operands to binary expression ('Bitboard' and 'int')
        return (bb & raw_) != 0;
               ~~~~~~~~~~~ ^  ~
In file included from src/chess/move.cpp:2:
In file included from src/chess/../uci/uci.hpp:4:
In file included from src/chess/../uci/../chess/board.hpp:4:
In file included from src/chess/board_state.hpp:6:
src/chess/bitboard.hpp:151:76: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
    [[nodiscard]] constexpr bool operator==(Bitboard const &other) const = default;
                                                                           ^
In file included from src/search/game_tree.cpp:1:
In file included from src/search/game_tree.hpp:4:
In file included from src/search/../chess/board.hpp:4:
In file included from src/search/../chess/board_state.hpp:6:
src/search/../chess/bitboard.hpp:30:21: error: no member named 'countr_zero' in namespace 'std'; did you mean '__countr_zero'?
        return std::countr_zero(raw_);
               ~~~~~^~~~~~~~~~~
                    __countr_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:248:5: note: '__countr_zero' declared here
    __countr_zero(_Tp __x) noexcept
    ^
src/data_gen/../chess/bitboard.hpp:42:21: error: no member named 'rotr' in namespace 'std'
        return std::rotr(raw_, shift);
               ~~~~~^
src/data_gen/../chess/bitboard.hpp:58:28: error: invalid operands to binary expression ('Bitboard' and 'int')
        return (bb & raw_) != 0;
               ~~~~~~~~~~~ ^  ~
In file included from src/chess/board.cpp:1:
In file included from src/chess/board.hpp:4:
In file included from src/chess/board_state.hpp:6:
src/chess/bitboard.hpp:38:21: error: no member named 'rotl' in namespace 'std'
        return std::rotl(raw_, shift);
               ~~~~~^
src/search/../chess/bitboard.hpp:231:16: error: use of undeclared identifier 'ray_precomp'
        return ray_precomp<rank_diff, file_diff>[sq];
               ^
src/search/../chess/bitboard.hpp:230:45: error: no return statement in constexpr function
    [[nodiscard]] static constexpr Bitboard get_ray_precomputed(Square sq) {
                                            ^
In file included from src/main.cpp:1:
In file included from src/uci/uci.hpp:4:
In file included from src/uci/../chess/board.hpp:4:
In file included from src/uci/../chess/board_state.hpp:6:
src/uci/../chess/bitboard.hpp:38:21: error: no member named 'rotl' in namespace 'std'
        return std::rotl(raw_, shift);
               ~~~~~^
src/data_gen/../search/../chess/bitboard.hpp:26:21: error: no member named 'popcount' in namespace 'std'; did you mean '__popcount'?
        return std::popcount(raw_);
               ~~~~~^~~~~~~~
                    __popcount
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:289:5: note: '__popcount' declared here
    __popcount(_Tp __x) noexcept
    ^
src/data_gen/format/../../chess/bitboard.hpp:231:16: error: use of undeclared identifier 'ray_precomp'
        return ray_precomp<rank_diff, file_diff>[sq];
               ^
src/data_gen/format/../../chess/bitboard.hpp:230:45: error: no return statement in constexpr function
    [[nodiscard]] static constexpr Bitboard get_ray_precomputed(Square sq) {
                                            ^
src/tests/../chess/bitboard.hpp:42:21: error: no member named 'rotr' in namespace 'std'
        return std::rotr(raw_, shift);
               ~~~~~^
3 warningssrc/tests/../chess/bitboard.hpp:58:28: generated.
 error: invalid operands to binary expression ('Bitboard' and 'int')
        return (bb & raw_) != 0;
               ~~~~~~~~~~~ ^  ~
In file included from src/search/game_tree.cpp:1:
In file included from src/search/game_tree.hpp:4:
In file included from src/search/../chess/board.hpp:4:
In file included from src/search/../chess/board_state.hpp:6:
src/search/../chess/bitboard.hpp:34:33: error: no member named 'countl_zero' in namespace 'std'; did you mean '__countl_zero'?
        return raw_ ? 63 - std::countl_zero(raw_) : 64;
                           ~~~~~^~~~~~~~~~~
                                __countl_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:195:5: note: '__countl_zero' declared here
    __countl_zero(_Tp __x) noexcept
    ^
src/data_gen/../chess/bitboard.hpp:231:16: error: use of undeclared identifier 'ray_precomp'
        return ray_precomp<rank_diff, file_diff>[sq];
               ^
src/data_gen/../chess/bitboard.hpp:230:45: error: no return statement in constexpr function
    [[nodiscard]] static constexpr Bitboard get_ray_precomputed(Square sq) {
                                            ^
src/chess/bitboard.hpp:186:39: src/search/../chess/bitboard.hpp:26:21: error: no member named 'popcount' in namespace 'std'; did you mean '__popcount'?
error: no template named 'remove_cvref_t' in namespace 'std'; did you mean '__remove_cvref_t'?        return std::popcount(raw_);

               ~~~~~^~~~~~~~src/uci/../chess/bitboard.hpp:42:21: error: no member named 'rotr' in namespace 'std'
        return std::rotr(raw_, shift);
               ~~~~~^

                    __popcount
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:289:        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||5: note: '__popcount' declared here
    __popcount(_Tp __x) noexcept
    ^

                                 ~~~~~^~~~~~~~~~~~~~
                                      __remove_cvref_t
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits:2228:5: note: '__remove_cvref_t' declared here
    using __remove_cvref_t
    ^
src/uci/../chess/bitboard.hpp:58:28: error: invalid operands to binary expression ('Bitboard' and 'int')
        return (bb & raw_) != 0;
               ~~~~~~~~~~~ ^  ~
src/tests/../chess/bitboard.hpp:42:21: error: no member named 'rotr' in namespace 'std'
        return std::rotr(raw_, shift);
               ~~~~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
src/tests/../chess/bitboard.hpp:58:28: error: invalid operands to binary expression ('Bitboard' and 'int')
        return (bb & raw_) != 0;
               ~~~~~~~~~~~ ^  ~
src/chess/bitboard.hpp:26:21: error: no member named 'popcount' in namespace 'std'; did you mean '__popcount'?
        return std::popcount(raw_);In file included from 
               ~~~~~^~~~~~~~
                    __popcount
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bitsrc/data_gen/game_runner.cpp:1:
In file included from src/data_gen/game_runner.hpp:4:
In file included from src/data_gen/../search/searcher.hpp:4:
In file included from src/data_gen/../search/../chess/board.hpp:4:
In file included from src/data_gen/../search/../chess/board_state.hpp:6:
src/data_gen/../search/../chess/bitboard.hpp:30:21: error: no member named 'countr_zero' in namespace 'std'; did you mean '__countr_zero'?
:289        return std::countr_zero(raw_);
               ~~~~~^~~~~~~~~~~
                    __countr_zero
:/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:248:5: note: '__countr_zero' declared here
5    __countr_zero(_Tp __x) noexcept
    ^
: note: '__popcount' declared here
    __popcount(_Tp __x) noexcept
    ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
src/tests/../chess/bitboard.hpp:231:16: error: use of undeclared identifier 'ray_precomp'
        return ray_precomp<rank_diff, file_diff>[sq];
               ^
src/tests/../chess/bitboard.hpp:230:45: error: no return statement in constexpr function
    [[nodiscard]] static constexpr Bitboard get_ray_precomputed(Square sq) {
                                            ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
In file included from src/chess/move.cpp:2:
In file included from src/chess/../uci/uci.hpp:4:
In file included from src/chess/../uci/../chess/board.hpp:4:
In file included from src/chess/board_state.hpp:6:
src/chess/bitboard.hpp:186:92: error: expected ')'
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                                                                                           ^
src/chess/bitboard.hpp:186:18: note: to match this '('
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                 ^
src/chess/bitboard.hpp:186:24: error: parameter declarator cannot be qualified
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                  ~~~~~^
src/chess/bitboard.hpp:186:24: error: parameter name cannot have template arguments
src/chess/bitboard.hpp:186:24: error: C++ requires a type specifier for all declarations
src/chess/bitboard.hpp:187:102: error: src/uci/../chess/bitboard.hppexpected ')'
:                  (std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, int> && rank_diff == 0)) &&231:16: error: use of undeclared identifier 'ray_precomp'

                                                                                                     ^        return ray_precomp<rank_diff, file_diff>[sq];
               ^

src/chess/bitboard.hppsrc/uci/../chess/bitboard.hpp:230:45: error: no return statement in constexpr function
:186    [[nodiscard]] static constexpr Bitboard get_ray_precomputed(Square sq) {
                                            ^
:17: note: to match this '('
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
                ^
src/chess/bitboard.hpp:186:9: error: C++ requires a type specifier for all declarations
        requires((std::is_same_v<std::remove_cvref_t<decltype(rank_diff)>, RankDifference> ||
        ^
src/chess/bitboard.hpp:190:7: In file included from src/search/searcher.cpperror: 'nodiscard' attribute cannot be applied to types
    [[nodiscard]] constexpr Bitboard shift() const {:1:
In file included from src/search/searcher.hpp:4:
In file included from src/search/../chess/board.hpp:4:
In file included from src/search/../chess/board_state.hpp:6:
src/search/../chess/bitboard.hpp:30:21: error: no member named 'countr_zero' in namespace 'std'; did you mean '__countr_zero'?

      ^        return std::countr_zero(raw_);

               ~~~~~^~~~~~~~~~~
                    __countr_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:248:5: note: '__countr_zero' declared here
    __countr_zero(_Tp __x) noexcept
    ^
src/chess/bitboard.hpp:190:18: error: expected ';' at end of declaration list
    [[nodiscard]] constexpr Bitboard shift() const {
                 ^
                 ;
src/chess/bitboard.hpp:247:80: warning: defaulted comparison operators are a C++20 extension [-Wc++20-extensions]
src/chess/bitboard.hpp:42:        [[nodiscard]] constexpr bool operator==(Iterator const &other) const = default;21: error: no member named 'rotr' in namespace 'std'

                                                                               ^
        return std::rotr(raw_, shift);
               ~~~~~^
In file included from src/data_gen/game_runner.cpp:1:
In file included from src/data_gen/game_runner.hpp:4:
In file included from src/data_gen/../search/searcher.hpp:4src/chess/bitboard.hpp:58:28: error: invalid operands to binary expression ('Bitboard' and 'int')
:
In file included from         return (bb & raw_) != 0;
               ~~~~~~~~~~~ ^  ~
src/data_gen/../search/../chess/board.hpp:4:
In file included from src/data_gen/../search/../chess/board_state.hpp:6:
src/data_gen/../search/../chess/bitboard.hpp:34:33: error: no member named 'countl_zero' in namespace 'std'; did you mean '__countl_zero'?
        return raw_ ? 63 - std::countl_zero(raw_) : 64;
                           ~~~~~^~~~~~~~~~~
                                __countl_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:195:5: note: '__countl_zero' declared here
    __countl_zero(_Tp __x) noexcept
    ^
src/tests/../chess/bitboard.hpp:231:16: error: use of undeclared identifier 'ray_precomp'
        return ray_precomp<rank_diff, file_diff>[sq];
               ^
src/tests/../chess/bitboard.hpp:230:45: error: no return statement in constexpr function
    [[nodiscard]] static constexpr Bitboard get_ray_precomputed(Square sq) {
                                            ^
src/uci/../chess/bitboard.hpp:42:21: error: no member named 'rotr' in namespace 'std'
        return std::rotr(raw_, shift);
               ~~~~~^
src/uci/../chess/bitboard.hpp:58:28: error: invalid operands to binary expression ('Bitboard' and 'int')
        return (bb & raw_) != 0;
               ~~~~~~~~~~~ ^  ~
In file included from src/search/game_tree.cpp:1:
In file included from src/search/game_tree.hpp:4:
In file included from src/search/../chess/board.hpp:4:
In file included from src/search/../chess/board_state.hpp:6:
src/search/../chess/bitboard.hpp:38:21: error: no member named 'rotl' in namespace 'std'
        return std::rotl(raw_, shift);
               ~~~~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
In file included from src/search/searcher.cpp:1:
In file included from src/search/searcher.hpp:4:
In file included from src/search/../chess/board.hpp:4:
In file included from src/search/../chess/board_state.hpp:6:
src/search/../chess/bitboard.hpp:34:33: error: no member named 'countl_zero' in namespace 'std'; did you mean '__countl_zero'?
        return raw_ ? 63 - std::countl_zero(raw_) : 64;
                           ~~~~~^~~~~~~~~~~
                                __countl_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:195:5: note: '__countl_zero' declared here
    __countl_zero(_Tp __x) noexceptsrc/chess/bitboard.hpp:231:16
:    ^ 
error: use of undeclared identifier 'ray_precomp'
fatal error: too many errors emitted, stopping now [-ferror-limit=]
        return ray_precomp<rank_diff, file_diff>[sq];
               ^
src/chess/bitboard.hpp:230:45: error: no return statement in constexpr function
    [[nodiscard]] static constexpr Bitboard get_ray_precomputed(Square sq) {
                                            ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
src/uci/../chess/bitboard.hpp:231:16: error: use of undeclared identifier 'ray_precomp'
        return ray_precomp<rank_diff, file_diff>[sq];
               ^
src/uci/../chess/bitboard.hpp:230:45: error: no return statement in constexpr function
    [[nodiscard]] static constexpr Bitboard get_ray_precomputed(Square sq) {
                                            ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
src/search/../chess/bitboard.hpp:42:21: error: no member named 'rotr' in namespace 'std'
        return std::rotr(raw_, shift);
               ~~~~~^
src/search/../chess/bitboard.hpp:58:28: error: invalid operands to binary expression ('Bitboard' and 'int')
        return (bb & raw_) != 0;
               ~~~~~~~~~~~ ^  ~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
src/chess/bitboard.hpp:26:21: error: no member named 'popcount' in namespace 'std'; did you mean '__popcount'?
        return std::popcount(raw_);
               ~~~~~^~~~~~~~
                    __popcount
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:289:5: note: '__popcount' declared here
    __popcount(_Tp __x) noexcept
    ^
In file included from src/search/searcher.cpp:1:
In file included from src/search/searcher.hpp:4:
In file included from src/search/../chess/board.hpp:4:
In file included from src/search/../chess/board_state.hpp:6:
src/search/../chess/bitboard.hpp:38:21: error: no member named 'rotl' in namespace 'std'
        return std::rotl(raw_, shift);
               ~~~~~^
src/search/../chess/bitboard.hpp:231:16: error: use of undeclared identifier 'ray_precomp'
        return ray_precomp<rank_diff, file_diff>[sq];
               ^
src/search/../chess/bitboard.hpp:230:45: error: no return statement in constexpr function
    [[nodiscard]] static constexpr Bitboard get_ray_precomputed(Square sq) {
                                            ^
In file included from src/chess/move_gen.cpp:1:
In file included from src/chess/move_gen.hpp:5:
src/chess/bitboard.hpp:30:21: error: no member named 'countr_zero' in namespace 'std'; did you mean '__countr_zero'?
        return std::countr_zero(raw_);
               ~~~~~^~~~~~~~~~~
                    __countr_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:248:5: note: '__countr_zero' declared here
    __countr_zero(_Tp __x) noexcept
    ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
In file included from src/data_gen/game_runner.cpp:1:
In file included from src/data_gen/game_runner.hpp:4:
In file included from src/data_gen/../search/searcher.hpp:4:
In file included from src/data_gen/../search/../chess/board.hpp:4:
In file included from src/data_gen/../search/../chess/board_state.hpp:6:
src/data_gen/../search/../chess/bitboard.hpp:38:21: error: no member named 'rotl' in namespace 'std'
        return std::rotl(raw_, shift);
               ~~~~~^
In file included from src/chess/move.cpp:2:
In file included from src/chess/../uci/uci.hpp:4:
In file included from src/chess/../uci/../chess/board.hpp:4:
In file included from src/chess/board_state.hpp:6:
src/chess/bitboard.hpp:30:21: error: no member named 'countr_zero' in namespace 'std'; did you mean '__countr_zero'?
        return std::countr_zero(raw_);
               ~~~~~^~~~~~~~~~~
                    __countr_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:248:5: note: '__countr_zero' declared here
    __countr_zero(_Tp __x) noexcept
    ^
src/search/../chess/bitboard.hpp:42:21: error: no member named 'rotr' in namespace 'std'
        return std::rotr(raw_, shift);
               ~~~~~^
src/search/../chess/bitboard.hppIn file included from src/chess/move_gen.cpp:1:
In file included from src/chess/move_gen.hpp:5:
src/chess/bitboard.hpp:34:33: error: no member named 'countl_zero' in namespace 'std'; did you mean '__countl_zero'?
:58:28:         return raw_ ? 63 - std::countl_zero(raw_) : 64;error: 
invalid operands to binary expression ('Bitboard' and 'int')                           ~~~~~^~~~~~~~~~~

                                __countl_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:195:5: note: '__countl_zero' declared here
        return (bb & raw_) != 0;
               ~~~~~~~~~~~ ^  ~
    __countl_zero(_Tp __x) noexcept
    ^
src/search/../chess/bitboard.hpp:231:16: error: use of undeclared identifier 'ray_precomp'
        return ray_precomp<rank_diff, file_diff>[sq];
               ^
src/search/../chess/bitboard.hpp:230:45: error: no return statement in constexpr function
    [[nodiscard]] static constexpr Bitboard get_ray_precomputed(Square sq) {
                                            ^
In file included from src/chess/move.cpp:2:
In file included from src/chess/../uci/uci.hpp:4:
In file included from src/chess/../uci/../chess/board.hpp:4:
In file included from src/chess/board_state.hpp:6:
src/chess/bitboard.hpp:34:33: error: no member named 'countl_zero' in namespace 'std'; did you mean '__countl_zero'?
        return raw_ ? 63 - std::countl_zero(raw_) : 64;
                           ~~~~~^~~~~~~~~~~
                                __countl_zero
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bit:195:5: note: '__countl_zero' declared here
    __countl_zero(_Tp __x) noexcept
    ^
src/data_gen/../search/../chess/bitboard.hpp:42:21: error: no member named 'rotr' in namespace 'std'
        return std::rotr(raw_, shift);
               ~~~~~^
src/data_gen/../search/../chess/bitboard.hpp:58:28: error: invalid operands to binary expression ('Bitboard' and 'int')
        return (bb & raw_) != 0;
               ~~~~~~~~~~~ ^  ~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
In file included from src/chess/move_gen.cpp:1:
In file included from src/chess/move_gen.hpp:5:
src/chess/bitboard.hpp:38:21: error: no member named 'rotl' in namespace 'std'
        return std::rotl(raw_, shift);
               ~~~~~^
src/data_gen/../search/../chess/bitboard.hpp:231:16: error: use of undeclared identifier 'ray_precomp'
        return ray_precomp<rank_diff, file_diff>[sq];
               ^
src/data_gen/../search/../chess/bitboard.hpp:230:45: error: no return statement in constexpr function
    [[nodiscard]] static constexpr Bitboard get_ray_precomputed(Square sq) {
                                            ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
In file included from src/chess/move.cpp:2:
In file included from src/chess/../uci/uci.hpp:4:
In file included from src/chess/../uci/../chess/board.hpp:4:
In file included from src/chess/board_state.hpp:6:
src/chess/bitboard.hpp:38:21: error: no member named 'rotl' in namespace 'std'
        return std::rotl(raw_, shift);
               ~~~~~^
src/chess/bitboard.hpp:42:21: error: no member named 'rotr' in namespace 'std'
        return std::rotr(raw_, shift);
               ~~~~~^
src/chess/bitboard.hpp:42:21: error: no member named 'rotr' in namespace 'std'
        return std::rotr(raw_, shift);
               ~~~~~^
src/chess/bitboard.hpp:58:28: error: invalid operands to binary expression ('Bitboard' and 'int')
        return (bb & raw_) != 0;
               ~~~~~~~~~~~ ^  ~
src/chess/bitboard.hpp:58:28: error: invalid operands to binary expression ('Bitboard' and 'int')
        return (bb & raw_) != 0;
               ~~~~~~~~~~~ ^  ~
src/chess/bitboard.hpp:231:16: error: use of undeclared identifier 'ray_precomp'
        return ray_precomp<rank_diff, file_diff>[sq];
               ^
src/chess/bitboard.hpp:230:45: error: no return statement in constexpr function
    [[nodiscard]] static constexpr Bitboard get_ray_precomputed(Square sq) {
                                            ^
src/chess/bitboard.hpp:231:16: error: use of undeclared identifier 'ray_precomp'
        return ray_precomp<rank_diff, file_diff>[sq];
               ^
src/chess/bitboard.hpp:230:45: error: no return statement in constexpr function
    [[nodiscard]] static constexpr Bitboard get_ray_precomputed(Square sq) {
                                            ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
fatal error: too many errors emitted, stopping now [-ferror-limit=]
3 warnings generated.
In file included from src/eval/value_network.cpp:1:
In file included from src/eval/value_network.hpp:4:
In file included from src/eval/../chess/board_state.hpp:9:
src/eval/../chess/zobrist.hpp:27:16: error: constexpr variable 'pieces' must be initialized by a constant expression
constexpr auto pieces = [] {
               ^        ~~~~
src/eval/../chess/zobrist.hpp:29:16: note: non-constexpr constructor 'MultiArray' cannot be used in a constant expression
    PieceTable piece_table;
               ^
src/eval/../chess/zobrist.hpp:27:25: note: in call to '&[] {
    auto next_u64 = [hash = 12477279837831370886ULL]() mutable {
        return hash = murmur3(hash);
    };
    zobrist::PieceTable piece_table;
    for (auto &table : piece_table)
        for (auto &color : table)
            for (u64 &square : color)
                square = next_u64();
    return piece_table;
}->operator()()'
constexpr auto pieces = [] {
                        ^
src/eval/../chess/../util/multi_array.hpp:29:7: note: declared here
class MultiArray {
      ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
2 warnings and 20 errors generated.
make: *** [Makefile:74: src/data_gen/openings.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from src/eval/networks.cpp:2:
In file included from src/eval/policy_network.hpp:4:
In file included from src/eval/../chess/board_state.hpp:9:
src/eval/../chess/zobrist.hpp:27:16: error: constexpr variable 'pieces' must be initialized by a constant expression
constexpr auto pieces = [] {
               ^        ~~~~
src/eval/../chess/zobrist.hpp:29:16: note: non-constexpr constructor 'MultiArray' cannot be used in a constant expression
    PieceTable piece_table;
               ^
src/eval/../chess/zobrist.hpp:27:25: note: in call to '&[] {
    auto next_u64 = [hash = 12477279837831370886ULL]() mutable {
        return hash = murmur3(hash);
    };
    zobrist::PieceTable piece_table;
    for (auto &table : piece_table)
        for (auto &color : table)
            for (u64 &square : color)
                square = next_u64();
    return piece_table;
}->operator()()'
constexpr auto pieces = [] {
                        ^
src/eval/../chess/../util/multi_array.hpp:29:7: note: declared here
class MultiArray {
      ^
2 warnings and 20 errors generated.
2 warnings and 20 errors generated.
2 warnings and 20 errors generated.
make: *** [Makefile:74: src/tests/bench.o] Error 1
fatal error: make: *** [Makefile:74: src/tests/perft.o] Error 1
too many errors emitted, stopping now [-ferror-limit=]
In file included from make: *** [Makefile:74: src/chess/board.o] Error 1
src/chess/board_state.cpp:1:
In file included from src/chess/board_state.hpp:9:
src/chess/zobrist.hpp:27:16: error: constexpr variable 'pieces' must be initialized by a constant expression
constexpr auto pieces = [] {
               ^        ~~~~
src/chess/zobrist.hpp:29:16: note: non-constexpr constructor 'MultiArray' cannot be used in a constant expression
    PieceTable piece_table;
               ^
src/chess/zobrist.hpp:27:25: note: in call to '&[] {
    auto next_u64 = [hash = 12477279837831370886ULL]() mutable {
        return hash = murmur3(hash);
    };
    zobrist::PieceTable piece_table;
    for (auto &table : piece_table)
        for (auto &color : table)
            for (u64 &square : color)
                square = next_u64();
    return piece_table;
}->operator()()'
constexpr auto pieces = [] {
                        ^
src/chess/../util/multi_array.hpp:29:7: note: declared here
class MultiArray {
      ^
2 warnings and 20 errors generated.
In file included from src/eval/policy_network.cpp:1:
In file included from src/eval/policy_network.hpp:4:
In file included from src/eval/../chess/board_state.hpp:9:
src/eval/../chess/zobrist.hpp:27:16: error: constexpr variable 'pieces' must be initialized by a constant expression
constexpr auto pieces = [] {
               ^        ~~~~
src/eval/../chess/zobrist.hpp:29:16: note: non-constexpr constructor 'MultiArray' cannot be used in a constant expression
    PieceTable piece_table;
               ^
src/eval/../chess/zobrist.hpp:27:25: note: in call to '&[] {
    auto next_u64 = [hash = 12477279837831370886ULL]() mutable {
        return hash = murmur3(hash);
    };
    zobrist::PieceTable piece_table;
    for (auto &table : piece_table)
        for (auto &color : table)
            for (u64 &square : color)
                square = next_u64();
    return piece_table;
}->operator()()'
constexpr auto pieces = [] {
                        ^
src/eval/../chess/../util/multi_array.hpp:29:7: note: declared here
class MultiArray {
      ^
2 warnings and 20 errors generated.
2 warnings and 20 errors generated.
fatal error: too many errors emitted, stopping now [-ferror-limit=]
make: *** [Makefile:74: src/search/thread.o] Error 1
fatal error: too many errors emitted, stopping now [-ferror-limit=]
make: *** [Makefile:74: src/chess/move_gen.o] Error 1
make: *** [Makefile:74: src/data_gen/format/monty_format.o] Error 1
2 warnings and 20 errors generated.
make: *** [Makefile:74: src/chess/magics.o] Error 1
2 warnings and 20 errors generated.
make: *** [Makefile:74: src/data_gen/game_runner.o] Error 1
3 warnings and 20 errors generated.
2 warnings and 20 errors generated.
make: *** [Makefile:74: src/chess/move.o] Error 1
make: *** [Makefile:74: src/main.o] Error 1
2 warnings and 20 errors generated.
make: *** [Makefile:74: src/search/searcher.o] Error 1
3 warnings and 20 errors generated.
make: *** [Makefile:74: src/chess/board_state.o] Error 1
2 warnings and 20 errors generated.
make: *** [Makefile:74: src/search/game_tree.o] Error 1
3 warnings and 20 errors generated.
3 warnings and 20 errors generated.
make: *** [Makefile:74: src/eval/networks.o] Error 1
3 warnings and 20 errors generated.
make: *** [Makefile:74: src/eval/policy_network.o] Error 1
make: *** [Makefile:74: src/eval/value_network.o] Error 1
2 warnings and 20 errors generated.
make: *** [Makefile:74: src/uci/uci.o] Error 1