g++ -Wall -Wextra -Wpedantic -Wshadow -pedantic -pthread -std=c++20 -march=native -O3 -funroll-loops -DEVALFILE=\"/home/vinechessengine/OpenBench/Client/Networks/66281CFC\" schoenemann.cpp search.cpp timeman.cpp helper.cpp tt.cpp moveorder.cpp see.cpp tune.cpp datagen.cpp history.cpp NNUE/nnue.cpp -o Schoenemann-545C680E-66281CFC
In file included from timeman.h:25,
                 from search.h:23,
                 from helper.h:23,
                 from schoenemann.cpp:32:
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
search.h: In constructor ‘Search::Search(TimeManagement&, tt&, Network&)’:
search.h:41:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   41 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:80:14: note: shadowed declaration is here
   80 |     Network &net;
      |              ^~~
search.h:39:28: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   39 |     Search(TimeManagement &timeManagement,
      |            ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
search.h:77:21: note: shadowed declaration is here
   77 |     TimeManagement &timeManagement;
      |                     ^~~~~~~~~~~~~~
search.h: In constructor ‘Search::Search(TimeManagement&, tt&, Network&)’:
search.h:41:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   41 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:80:14: note: shadowed declaration is here
   80 |     Network &net;
      |              ^~~
search.h:39:28: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   39 |     Search(TimeManagement &timeManagement,
      |            ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
search.h:77:21: note: shadowed declaration is here
   77 |     TimeManagement &timeManagement;
      |                     ^~~~~~~~~~~~~~
search.h: In constructor ‘Search::Search(TimeManagement&, tt&, Network&)’:
search.h:41:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   41 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:80:14: note: shadowed declaration is here
   80 |     Network &net;
      |              ^~~
search.h:39:28: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   39 |     Search(TimeManagement &timeManagement,
      |            ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
search.h:77:21: note: shadowed declaration is here
   77 |     TimeManagement &timeManagement;
      |                     ^~~~~~~~~~~~~~
In file included from timeman.h:25,
                 from search.h:23,
                 from search.cpp:25:
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
search.h: In constructor ‘Search::Search(TimeManagement&, tt&, Network&)’:
search.h:41:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   41 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:80:14: note: shadowed declaration is here
   80 |     Network &net;
      |              ^~~
search.h:39:28: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   39 |     Search(TimeManagement &timeManagement,
      |            ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
search.h:77:21: note: shadowed declaration is here
   77 |     TimeManagement &timeManagement;
      |                     ^~~~~~~~~~~~~~
search.h: In constructor ‘Search::Search(TimeManagement&, tt&, Network&)’:
search.h:41:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   41 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:80:14: note: shadowed declaration is here
   80 |     Network &net;
      |              ^~~
search.h:39:28: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   39 |     Search(TimeManagement &timeManagement,
      |            ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
search.h:77:21: note: shadowed declaration is here
   77 |     TimeManagement &timeManagement;
      |                     ^~~~~~~~~~~~~~
search.h: In constructor ‘Search::Search(TimeManagement&, tt&, Network&)’:
search.h:41:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   41 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:80:14: note: shadowed declaration is here
   80 |     Network &net;
      |              ^~~
search.h:39:28: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   39 |     Search(TimeManagement &timeManagement,
      |            ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
search.h:77:21: note: shadowed declaration is here
   77 |     TimeManagement &timeManagement;
      |                     ^~~~~~~~~~~~~~
In file included from timeman.h:25,
                 from timeman.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
In file included from timeman.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:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
search.h: In constructor ‘Search::Search(TimeManagement&, tt&, Network&)’:
search.h:41:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   41 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:80:14: note: shadowed declaration is here
   80 |     Network &net;
      |              ^~~
search.h:39:28: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   39 |     Search(TimeManagement &timeManagement,
      |            ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
search.h:77:21: note: shadowed declaration is here
   77 |     TimeManagement &timeManagement;
      |                     ^~~~~~~~~~~~~~
search.h: In constructor ‘Search::Search(TimeManagement&, tt&, Network&)’:
search.h:41:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   41 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:80:14: note: shadowed declaration is here
   80 |     Network &net;
      |              ^~~
search.h:39:28: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   39 |     Search(TimeManagement &timeManagement,
      |            ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
search.h:77:21: note: shadowed declaration is here
   77 |     TimeManagement &timeManagement;
      |                     ^~~~~~~~~~~~~~
search.h: In constructor ‘Search::Search(TimeManagement&, tt&, Network&)’:
search.h:41:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   41 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:80:14: note: shadowed declaration is here
   80 |     Network &net;
      |              ^~~
search.h:39:28: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   39 |     Search(TimeManagement &timeManagement,
      |            ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
search.h:77:21: note: shadowed declaration is here
   77 |     TimeManagement &timeManagement;
      |                     ^~~~~~~~~~~~~~
In file included from tt.h:26,
                 from tt.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         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:30:20: note: ‘struct Hash’ declared here
   30 | 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:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
In file included from see.h:23,
                 from see.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
In file included from timeman.h:25,
                 from search.h:23,
                 from helper.h:23,
                 from datagen.cpp:22:
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
search.h: In constructor ‘Search::Search(TimeManagement&, tt&, Network&)’:
search.h:41:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   41 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:80:14: note: shadowed declaration is here
   80 |     Network &net;
      |              ^~~
search.h:39:28: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   39 |     Search(TimeManagement &timeManagement,
      |            ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
search.h:77:21: note: shadowed declaration is here
   77 |     TimeManagement &timeManagement;
      |                     ^~~~~~~~~~~~~~
search.h: In constructor ‘Search::Search(TimeManagement&, tt&, Network&)’:
search.h:41:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   41 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:80:14: note: shadowed declaration is here
   80 |     Network &net;
      |              ^~~
search.h:39:28: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   39 |     Search(TimeManagement &timeManagement,
      |            ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
search.h:77:21: note: shadowed declaration is here
   77 |     TimeManagement &timeManagement;
      |                     ^~~~~~~~~~~~~~
search.h: In constructor ‘Search::Search(TimeManagement&, tt&, Network&)’:
search.h:41:21: warning: declaration of ‘net’ shadows a member of ‘Search’ [-Wshadow]
   41 |            Network &net) : reductions{}, stack{}, timeManagement(timeManagement),
      |            ~~~~~~~~~^~~
search.h:80:14: note: shadowed declaration is here
   80 |     Network &net;
      |              ^~~
search.h:39:28: warning: declaration of ‘timeManagement’ shadows a member of ‘Search’ [-Wshadow]
   39 |     Search(TimeManagement &timeManagement,
      |            ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
search.h:77:21: note: shadowed declaration is here
   77 |     TimeManagement &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:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(underlying)’:
chess.hpp:173:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  173 |         constexpr File(underlying file) : file(file) {
      |                        ~~~~~~~~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:176:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  176 |         constexpr File(int file) : file(static_cast<underlying>(file)) {
      |                        ~~~~^~~~
chess.hpp:225:20: note: shadowed declaration is here
  225 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:323:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  323 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) {
      |                          ~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(underlying)’:
chess.hpp:332:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  332 |         constexpr Square(underlying sq) : sq(sq) {
      |                          ~~~~~~~~~~~^~
chess.hpp:488:20: note: shadowed declaration is here
  488 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:524:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  524 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:686:23: note: shadowed declaration is here
  686 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(underlying)’:
chess.hpp:926:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
  926 |         constexpr PieceType(underlying pt) : pt(pt) {
      |                             ~~~~~~~~~~~^~
chess.hpp:1009:20: note: shadowed declaration is here
 1009 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(underlying)’:
chess.hpp:1038:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1038 |         constexpr Piece(underlying piece) : piece(piece) {
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1136:20: note: shadowed declaration is here
 1136 |         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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             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:1699:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1699 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1696:19: note: shadowed declaration is here
 1696 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1698:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1695:21: note: shadowed declaration is here
 1695 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1698:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1694:20: note: shadowed declaration is here
 1694 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1698:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1693:28: note: shadowed declaration is here
 1693 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1698:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1698 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1692:17: note: shadowed declaration is here
 1692 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
chess.hpp: In constructor ‘chess::Board::Board(Network*, std::string_view, bool)’:
chess.hpp:1717:33: warning: declaration of ‘net’ shadows a member of ‘chess::Board’ [-Wshadow]
 1717 |         explicit Board(Network *net = nullptr, std::string_view fen = constants::STARTPOS, bool chess960 = false) {
      |                        ~~~~~~~~~^~~~~~~~~~~~~
chess.hpp:2327:18: note: shadowed declaration is here
 2327 |         Network *net;
      |                  ^~~
history.cpp: In member function ‘void History::updatePawnCorrectionHistory(int, const chess::Board&, int)’:
history.cpp:95:70: warning: suggest parentheses around ‘-’ in operand of ‘&’ [-Wparentheses]
   95 |                                 pawnHash & pawnCorrectionHistorySize - 1] * std::abs(bonus) / div;
      |                                            ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
history.cpp:96:84: warning: suggest parentheses around ‘-’ in operand of ‘&’ [-Wparentheses]
   96 |     pawnCorrectionHistory[board.sideToMove()][pawnHash & pawnCorrectionHistorySize - 1] += scaledBonus;
      |                                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
history.cpp: In member function ‘int History::correctEval(int, const chess::Board&) const’:
history.cpp:101:73: warning: suggest parentheses around ‘-’ in operand of ‘&’ [-Wparentheses]
  101 |         getPieceKey(PieceType::PAWN, board) & pawnCorrectionHistorySize - 1];
      |                                               ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
/usr/bin/ld: final link failed: No space left on device
collect2: error: ld returned 1 exit status
make: *** [Makefile:17: all] Error 1