g++ -Wall -Wextra -Wpedantic -Wshadow -std=c++20 -march=native -O3 -funroll-loops -DEVALFILE=\"/root/OpenBench2/Client/Networks/66281CFC\" schoenemann.cpp search.cpp timeman.cpp helper.cpp tt.cpp moveorder.cpp see.cpp tune.cpp datagen.cpp -o Schoenemann-B127DF2D-66281CFC
In file included from tt.h:25,
                 from consts.h:25,
                 from schoenemann.h:26,
                 from schoenemann.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from schoenemann.h:26,
                 from schoenemann.cpp:20:
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from schoenemann.h:26,
                 from schoenemann.cpp:20:
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In lambda function:
chess.hpp:5433:64: warning: declaration of ‘std::string_view& san’ shadows a parameter [-Wshadow]
 5433 |             constexpr auto parse_castle = [](std::string_view &san, SanMoveInformation &info, char castling_char)
      |                                              ~~~~~~~~~~~~~~~~~~^~~
chess.hpp:5422:79: note: shadowed declaration is here
 5422 |         [[nodiscard]] static SanMoveInformation parseSanInfo(std::string_view san) noexcept(false)
      |                                                              ~~~~~~~~~~~~~~~~~^~~
In file included from tt.h:25,
                 from consts.h:25,
                 from timeman.h:22,
                 from search.h:25,
                 from search.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from timeman.h:22,
                 from search.h:25,
                 from search.cpp:20:
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from timeman.h:22,
                 from search.h:25,
                 from search.cpp:20:
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In lambda function:
chess.hpp:5433:64: warning: declaration of ‘std::string_view& san’ shadows a parameter [-Wshadow]
 5433 |             constexpr auto parse_castle = [](std::string_view &san, SanMoveInformation &info, char castling_char)
      |                                              ~~~~~~~~~~~~~~~~~~^~~
chess.hpp:5422:79: note: shadowed declaration is here
 5422 |         [[nodiscard]] static SanMoveInformation parseSanInfo(std::string_view san) noexcept(false)
      |                                                              ~~~~~~~~~~~~~~~~~^~~
chess.hpp: In instantiation of ‘void chess::Board::setFenInternal(std::string_view) [with bool ctor = true; std::string_view = std::basic_string_view<char>]’:
chess.hpp:2016:33:   required from here
chess.hpp:3350:28: warning: declaration of ‘start’ shadows a global declaration [-Wshadow]
 3350 |                 const auto start = side == king_side ? king_sq + 1 : king_sq - 1;
      |                            ^~~~~
search.cpp:22:25: note: shadowed declaration is here
   22 | std::chrono::time_point start = std::chrono::steady_clock::now();
      |                         ^~~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from timeman.h:22,
                 from search.h:25,
                 from search.cpp:20:
chess.hpp: In instantiation of ‘void chess::Board::setFenInternal(std::string_view) [with bool ctor = false; std::string_view = std::basic_string_view<char>]’:
chess.hpp:2019:67:   required from here
chess.hpp:3350:28: warning: declaration of ‘start’ shadows a global declaration [-Wshadow]
 3350 |                 const auto start = side == king_side ? king_sq + 1 : king_sq - 1;
      |                            ^~~~~
search.cpp:22:25: note: shadowed declaration is here
   22 | std::chrono::time_point start = std::chrono::steady_clock::now();
      |                         ^~~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from timeman.h:22,
                 from timeman.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from timeman.h:22,
                 from timeman.cpp:20:
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from timeman.h:22,
                 from timeman.cpp:20:
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In lambda function:
chess.hpp:5433:64: warning: declaration of ‘std::string_view& san’ shadows a parameter [-Wshadow]
 5433 |             constexpr auto parse_castle = [](std::string_view &san, SanMoveInformation &info, char castling_char)
      |                                              ~~~~~~~~~~~~~~~~~~^~~
chess.hpp:5422:79: note: shadowed declaration is here
 5422 |         [[nodiscard]] static SanMoveInformation parseSanInfo(std::string_view san) noexcept(false)
      |                                                              ~~~~~~~~~~~~~~~~~^~~
In file included from tt.h:25,
                 from consts.h:25,
                 from helper.h:22,
                 from helper.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from helper.h:22,
                 from helper.cpp:20:
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from helper.h:22,
                 from helper.cpp:20:
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In lambda function:
chess.hpp:5433:64: warning: declaration of ‘std::string_view& san’ shadows a parameter [-Wshadow]
 5433 |             constexpr auto parse_castle = [](std::string_view &san, SanMoveInformation &info, char castling_char)
      |                                              ~~~~~~~~~~~~~~~~~~^~~
chess.hpp:5422:79: note: shadowed declaration is here
 5422 |         [[nodiscard]] static SanMoveInformation parseSanInfo(std::string_view san) noexcept(false)
      |                                                              ~~~~~~~~~~~~~~~~~^~~
In file included from tt.h:25,
                 from tt.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
In file included from tt.h:25,
                 from tt.cpp:20:
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
In file included from tt.h:25,
                 from tt.cpp:20:
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In lambda function:
chess.hpp:5433:64: warning: declaration of ‘std::string_view& san’ shadows a parameter [-Wshadow]
 5433 |             constexpr auto parse_castle = [](std::string_view &san, SanMoveInformation &info, char castling_char)
      |                                              ~~~~~~~~~~~~~~~~~~^~~
chess.hpp:5422:79: note: shadowed declaration is here
 5422 |         [[nodiscard]] static SanMoveInformation parseSanInfo(std::string_view san) noexcept(false)
      |                                                              ~~~~~~~~~~~~~~~~~^~~
In file included from tt.h:25,
                 from consts.h:25,
                 from moveorder.h:24,
                 from moveorder.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from moveorder.h:24,
                 from moveorder.cpp:20:
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from moveorder.h:24,
                 from moveorder.cpp:20:
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In lambda function:
chess.hpp:5433:64: warning: declaration of ‘std::string_view& san’ shadows a parameter [-Wshadow]
 5433 |             constexpr auto parse_castle = [](std::string_view &san, SanMoveInformation &info, char castling_char)
      |                                              ~~~~~~~~~~~~~~~~~~^~~
chess.hpp:5422:79: note: shadowed declaration is here
 5422 |         [[nodiscard]] static SanMoveInformation parseSanInfo(std::string_view san) noexcept(false)
      |                                                              ~~~~~~~~~~~~~~~~~^~~
In file included from tt.h:25,
                 from consts.h:25,
                 from see.h:22,
                 from see.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from see.h:22,
                 from see.cpp:20:
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from see.h:22,
                 from see.cpp:20:
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In lambda function:
chess.hpp:5433:64: warning: declaration of ‘std::string_view& san’ shadows a parameter [-Wshadow]
 5433 |             constexpr auto parse_castle = [](std::string_view &san, SanMoveInformation &info, char castling_char)
      |                                              ~~~~~~~~~~~~~~~~~~^~~
chess.hpp:5422:79: note: shadowed declaration is here
 5422 |         [[nodiscard]] static SanMoveInformation parseSanInfo(std::string_view san) noexcept(false)
      |                                                              ~~~~~~~~~~~~~~~~~^~~
In file included from tt.h:25,
                 from consts.h:25,
                 from datagen.h:22,
                 from datagen.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from datagen.h:22,
                 from datagen.cpp:20:
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from datagen.h:22,
                 from datagen.cpp:20:
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In lambda function:
chess.hpp:5433:64: warning: declaration of ‘std::string_view& san’ shadows a parameter [-Wshadow]
 5433 |             constexpr auto parse_castle = [](std::string_view &san, SanMoveInformation &info, char castling_char)
      |                                              ~~~~~~~~~~~~~~~~~~^~~
chess.hpp:5422:79: note: shadowed declaration is here
 5422 |         [[nodiscard]] static SanMoveInformation parseSanInfo(std::string_view san) noexcept(false)
      |                                                              ~~~~~~~~~~~~~~~~~^~~
/opt/rh/devtoolset-11/root/usr/libexec/gcc/x86_64-redhat-linux/11/ld: /tmp/cck9TNyq.o: in function `std::thread::thread<std::_Bind<void (Search::*(Search*, chess::Board, bool))(chess::Board&, bool)>, , void>(std::_Bind<void (Search::*(Search*, chess::Board, bool))(chess::Board&, bool)>&&)':
schoenemann.cpp:(.text._ZNSt6threadC2ISt5_BindIFM6SearchFvRN5chess5BoardEbEPS2_S4_bEEJEvEEOT_DpOT0_[_ZNSt6threadC5ISt5_BindIFM6SearchFvRN5chess5BoardEbEPS2_S4_bEEJEvEEOT_DpOT0_]+0x14e): undefined reference to `pthread_create'
/opt/rh/devtoolset-11/root/usr/libexec/gcc/x86_64-redhat-linux/11/ld: /tmp/cck9TNyq.o: in function `main':
schoenemann.cpp:(.text.startup+0xc6f): undefined reference to `pthread_create'
/opt/rh/devtoolset-11/root/usr/libexec/gcc/x86_64-redhat-linux/11/ld: schoenemann.cpp:(.text.startup+0xcfb): undefined reference to `pthread_create'
/opt/rh/devtoolset-11/root/usr/libexec/gcc/x86_64-redhat-linux/11/ld: schoenemann.cpp:(.text.startup+0xd84): undefined reference to `pthread_create'
/opt/rh/devtoolset-11/root/usr/libexec/gcc/x86_64-redhat-linux/11/ld: /opt/rh/devtoolset-11/root/usr/lib/gcc/x86_64-redhat-linux/11/libstdc++_nonshared.a(thread48.o): in function `std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)())':
(.text._ZNSt6thread15_M_start_threadESt10unique_ptrINS_6_StateESt14default_deleteIS1_EEPFvvE+0x26): undefined reference to `pthread_create'
/opt/rh/devtoolset-11/root/usr/libexec/gcc/x86_64-redhat-linux/11/ld: /opt/rh/devtoolset-11/root/usr/lib/gcc/x86_64-redhat-linux/11/libstdc++_nonshared.a(thread48.o):(.text._ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEEPFvvE+0x62): more undefined references to `pthread_create' follow
collect2: error: ld returned 1 exit status
make: *** [Makefile:16: all] Error 1