g++ -Wall -Wextra -Wpedantic -Wshadow -pedantic -pthread -std=c++20 -march=native -O3 -funroll-loops -DEVALFILE=\"/home/epicunban04/OpenBench/Client/Networks/66281CFC\" schoenemann.cpp search.cpp time.cpp helper.cpp tt.cpp moveorder.cpp see.cpp tune.cpp datagen.cpp history.cpp -o Schoenemann-4FB571FF-66281CFC
In file included from time.h:25,
                 from search.h:23,
                 from helper.h:23,
                 from schoenemann.cpp:27:
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
search.h: In constructor ‘Search::Search(Time&, tt&, Network&)’:
search.h:32:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   32 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:71:14: note: shadowed declaration is here
   71 |     Network &net;
      |              ^~~
search.h:30:18: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   30 |     Search(Time &timeManagement,
      |            ~~~~~~^~~~~~~~~~~~~~
search.h:68:11: note: shadowed declaration is here
   68 |     Time &timeManagement;
      |           ^~~~~~~~~~~~~~
search.h: In constructor ‘Search::Search(Time&, tt&, Network&)’:
search.h:32:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   32 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:71:14: note: shadowed declaration is here
   71 |     Network &net;
      |              ^~~
search.h:30:18: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   30 |     Search(Time &timeManagement,
      |            ~~~~~~^~~~~~~~~~~~~~
search.h:68:11: note: shadowed declaration is here
   68 |     Time &timeManagement;
      |           ^~~~~~~~~~~~~~
search.h: In constructor ‘Search::Search(Time&, tt&, Network&)’:
search.h:32:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   32 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:71:14: note: shadowed declaration is here
   71 |     Network &net;
      |              ^~~
search.h:30:18: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   30 |     Search(Time &timeManagement,
      |            ~~~~~~^~~~~~~~~~~~~~
search.h:68:11: note: shadowed declaration is here
   68 |     Time &timeManagement;
      |           ^~~~~~~~~~~~~~
In file included from time.h:25,
                 from search.h:23,
                 from search.cpp:24:
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
search.h: At global scope:
search.h:73:10: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
   73 |     std::unique_ptr<RootMove[]> rootMoveList;
      |          ^~~~~~~~~~
search.h:26:1: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
   25 | #include "moveorder.h"
  +++ |+#include <memory>
   26 | #include "search_fwd.h"
search.h: In constructor ‘Search::Search(Time&, tt&, Network&)’:
search.h:32:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   32 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:71:14: note: shadowed declaration is here
   71 |     Network &net;
      |              ^~~
search.h:30:18: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   30 |     Search(Time &timeManagement,
      |            ~~~~~~^~~~~~~~~~~~~~
search.h:68:11: note: shadowed declaration is here
   68 |     Time &timeManagement;
      |           ^~~~~~~~~~~~~~
search.h: In constructor ‘Search::Search(Time&, tt&, Network&)’:
search.h:32:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   32 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:71:14: note: shadowed declaration is here
   71 |     Network &net;
      |              ^~~
search.h:30:18: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   30 |     Search(Time &timeManagement,
      |            ~~~~~~^~~~~~~~~~~~~~
search.h:68:11: note: shadowed declaration is here
   68 |     Time &timeManagement;
      |           ^~~~~~~~~~~~~~
search.h: In constructor ‘Search::Search(Time&, tt&, Network&)’:
search.h:32:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   32 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:71:14: note: shadowed declaration is here
   71 |     Network &net;
      |              ^~~
search.h:30:18: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   30 |     Search(Time &timeManagement,
      |            ~~~~~~^~~~~~~~~~~~~~
search.h:68:11: note: shadowed declaration is here
   68 |     Time &timeManagement;
      |           ^~~~~~~~~~~~~~
search.cpp: In member function ‘int Search::pvs(int, int, int, int, chess::Board&)’:
search.cpp:157:29: error: ‘rootMoveList’ was not declared in this scope; did you mean ‘rootMoveListSize’?
  157 |                         if (rootMoveList[x].move == move) {
      |                             ^~~~~~~~~~~~
      |                             rootMoveListSize
search.cpp: In member function ‘void Search::iterativeDeepening(chess::Board&, bool)’:
search.cpp:291:5: error: ‘rootMoveList’ was not declared in this scope; did you mean ‘rootMoveListSize’?
  291 |     rootMoveList.reset(new RootMove[moveList.size()]);
      |     ^~~~~~~~~~~~
      |     rootMoveListSize
search.cpp: In member function ‘std::string Search::scoreToUci() const’:
search.cpp:353:13: error: ‘rootMoveList’ was not declared in this scope; did you mean ‘rootMoveListSize’?
  353 |         if (rootMoveList[i].move == rootBestMove) {
      |             ^~~~~~~~~~~~
      |             rootMoveListSize
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:1801:33:   required from here
chess.hpp:2602:28: warning: declaration of ‘start’ shadows a global declaration [-Wshadow]
 2602 |                 const auto start = side == king_side ? king_sq + 1 : king_sq - 1;
      |                            ^~~~~
search.cpp:28:25: note: shadowed declaration is here
   28 | std::chrono::time_point start = std::chrono::steady_clock::now();
      |                         ^~~~~
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:1804:67:   required from here
chess.hpp:2602:28: warning: declaration of ‘start’ shadows a global declaration [-Wshadow]
 2602 |                 const auto start = side == king_side ? king_sq + 1 : king_sq - 1;
      |                            ^~~~~
search.cpp:28:25: note: shadowed declaration is here
   28 | std::chrono::time_point start = std::chrono::steady_clock::now();
      |                         ^~~~~
In file included from time.h:25,
                 from time.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
In file included from time.h:25,
                 from search.h:23,
                 from helper.h:23,
                 from helper.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
search.h: At global scope:
search.h:73:10: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
   73 |     std::unique_ptr<RootMove[]> rootMoveList;
      |          ^~~~~~~~~~
search.h:26:1: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
   25 | #include "moveorder.h"
  +++ |+#include <memory>
   26 | #include "search_fwd.h"
search.h: In constructor ‘Search::Search(Time&, tt&, Network&)’:
search.h:32:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   32 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:71:14: note: shadowed declaration is here
   71 |     Network &net;
      |              ^~~
search.h:30:18: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   30 |     Search(Time &timeManagement,
      |            ~~~~~~^~~~~~~~~~~~~~
search.h:68:11: note: shadowed declaration is here
   68 |     Time &timeManagement;
      |           ^~~~~~~~~~~~~~
search.h: In constructor ‘Search::Search(Time&, tt&, Network&)’:
search.h:32:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   32 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:71:14: note: shadowed declaration is here
   71 |     Network &net;
      |              ^~~
search.h:30:18: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   30 |     Search(Time &timeManagement,
      |            ~~~~~~^~~~~~~~~~~~~~
search.h:68:11: note: shadowed declaration is here
   68 |     Time &timeManagement;
      |           ^~~~~~~~~~~~~~
search.h: In constructor ‘Search::Search(Time&, tt&, Network&)’:
search.h:32:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   32 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:71:14: note: shadowed declaration is here
   71 |     Network &net;
      |              ^~~
search.h:30:18: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   30 |     Search(Time &timeManagement,
      |            ~~~~~~^~~~~~~~~~~~~~
search.h:68:11: note: shadowed declaration is here
   68 |     Time &timeManagement;
      |           ^~~~~~~~~~~~~~
In file included from tt.h:26,
                 from tt.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
tt.cpp: In member function ‘void tt::clear() const’:
tt.cpp:50:11: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct Hash’; use assignment or value-initialization instead [-Wclass-memaccess]
   50 |     memset(table, 0, size * sizeof(Hash));
      |     ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tt.h:34:20: note: ‘struct Hash’ declared here
   34 | struct alignas(16) Hash {
      |                    ^~~~
In file included from search_fwd.h:5,
                 from moveorder.h:23,
                 from moveorder.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
moveorder.cpp: In static member function ‘static void MoveOrder::orderMoves(const History*, chess::Movelist&, const Hash*, const chess::Move&, const SearchStack*, const chess::Board&, int*, const int&)’:
moveorder.cpp:26:43: warning: unused parameter ‘history’ [-Wunused-parameter]
   26 | void MoveOrder::orderMoves(const History *history, Movelist &moveList, const Hash *entry, const Move &killer,
      |                            ~~~~~~~~~~~~~~~^~~~~~~
moveorder.cpp:27:47: warning: unused parameter ‘stack’ [-Wunused-parameter]
   27 |                            const SearchStack *stack, const Board &board, int *scores, const int &ply) {
      |                            ~~~~~~~~~~~~~~~~~~~^~~~~
moveorder.cpp:27:98: warning: unused parameter ‘ply’ [-Wunused-parameter]
   27 |                            const SearchStack *stack, const Board &board, int *scores, const int &ply) {
      |                                                                                       ~~~~~~~~~~~^~~
In file included from see.h:23,
                 from see.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
In file included from see.h:23,
                 from datagen.h:24,
                 from datagen.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
In file included from datagen.h:25:
search.h: At global scope:
search.h:73:10: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
   73 |     std::unique_ptr<RootMove[]> rootMoveList;
      |          ^~~~~~~~~~
search.h:26:1: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
   25 | #include "moveorder.h"
  +++ |+#include <memory>
   26 | #include "search_fwd.h"
search.h: In constructor ‘Search::Search(Time&, tt&, Network&)’:
search.h:32:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   32 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:71:14: note: shadowed declaration is here
   71 |     Network &net;
      |              ^~~
search.h:30:18: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   30 |     Search(Time &timeManagement,
      |            ~~~~~~^~~~~~~~~~~~~~
search.h:68:11: note: shadowed declaration is here
   68 |     Time &timeManagement;
      |           ^~~~~~~~~~~~~~
search.h: In constructor ‘Search::Search(Time&, tt&, Network&)’:
search.h:32:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   32 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:71:14: note: shadowed declaration is here
   71 |     Network &net;
      |              ^~~
search.h:30:18: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   30 |     Search(Time &timeManagement,
      |            ~~~~~~^~~~~~~~~~~~~~
search.h:68:11: note: shadowed declaration is here
   68 |     Time &timeManagement;
      |           ^~~~~~~~~~~~~~
search.h: In constructor ‘Search::Search(Time&, tt&, Network&)’:
search.h:32:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   32 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:71:14: note: shadowed declaration is here
   71 |     Network &net;
      |              ^~~
search.h:30:18: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   30 |     Search(Time &timeManagement,
      |            ~~~~~~^~~~~~~~~~~~~~
search.h:68:11: note: shadowed declaration is here
   68 |     Time &timeManagement;
      |           ^~~~~~~~~~~~~~
In file included from search_fwd.h:5,
                 from history.h:22,
                 from history.cpp:22:
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:189:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  189 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:190:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  190 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:236:20: note: shadowed declaration is here
  236 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:331:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  331 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {}
      |                          ~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:334:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  334 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:512:20: note: shadowed declaration is here
  512 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:553:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  553 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:730:23: note: shadowed declaration is here
  730 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:969:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  969 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1054:20: note: shadowed declaration is here
 1054 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1084:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1084 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1175:20: note: shadowed declaration is here
 1175 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const chess::Board::U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1779:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1779 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1776:19: note: shadowed declaration is here
 1776 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1778:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1775:21: note: shadowed declaration is here
 1775 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1778:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1774:20: note: shadowed declaration is here
 1774 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1778:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1773:28: note: shadowed declaration is here
 1773 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1778:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1778 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1772:17: note: shadowed declaration is here
 1772 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1796:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1796 |         explicit Board(Network* net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false)
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2481:18: note: shadowed declaration is here
 2481 |         Network* net;
      |                  ^~~
make: *** [Makefile:17: all] Error 1