g++   *.cpp 3rdparty/Fathom/src/tbprobe.c -DEVALFILE=\"clover-7buckets-mse-0.95-1280-cosine-600.bin\" -I . -IFathom -Wall -g -std=c++17 -O3 -funroll-loops  -lpthread -mno-avx512f -march=native -o Clover-9053D001 -fprofile-generate
In file included from board.h:21,
                 from init.h:19,
                 from main.cpp:19:
defs.h: In constructor ‘Threats::Threats()’:
defs.h:123:69: error: call of overloaded ‘Bitboard(long long unsigned int)’ is ambiguous
  123 |         for(int i = 0; i < 4; i++) threats_pieces[i] = Bitboard(0ULL);
      |                                                                     ^
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(const Bitboard&)’
   70 | class Bitboard {
      |       ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(Bitboard&&)’
defs.h: At global scope:
defs.h:187:5: error: conversion from ‘long long unsigned int’ to ‘Bitboard’ is ambiguous
  187 |     72340172838076673ull, 144680345676153346ull, 289360691352306692ull, 578721382704613384ull, 1157442765409226768ull, 2314885530818453536ull, 4629771061636907072ull, 9259542123273814144ull
      |     ^~~~~~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:187:27: error: conversion from ‘long long unsigned int’ to ‘Bitboard’ is ambiguous
  187 |     72340172838076673ull, 144680345676153346ull, 289360691352306692ull, 578721382704613384ull, 1157442765409226768ull, 2314885530818453536ull, 4629771061636907072ull, 9259542123273814144ull
      |                           ^~~~~~~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:187:50: error: conversion from ‘long long unsigned int’ to ‘Bitboard’ is ambiguous
  187 |     72340172838076673ull, 144680345676153346ull, 289360691352306692ull, 578721382704613384ull, 1157442765409226768ull, 2314885530818453536ull, 4629771061636907072ull, 9259542123273814144ull
      |                                                  ^~~~~~~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:187:73: error: conversion from ‘long long unsigned int’ to ‘Bitboard’ is ambiguous
  187 |     72340172838076673ull, 144680345676153346ull, 289360691352306692ull, 578721382704613384ull, 1157442765409226768ull, 2314885530818453536ull, 4629771061636907072ull, 9259542123273814144ull
      |                                                                         ^~~~~~~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:187:96: error: conversion from ‘long long unsigned int’ to ‘Bitboard’ is ambiguous
  187 |     72340172838076673ull, 144680345676153346ull, 289360691352306692ull, 578721382704613384ull, 1157442765409226768ull, 2314885530818453536ull, 4629771061636907072ull, 9259542123273814144ull
      |                                                                                                ^~~~~~~~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:187:120: error: conversion from ‘long long unsigned int’ to ‘Bitboard’ is ambiguous
  187 |     72340172838076673ull, 144680345676153346ull, 289360691352306692ull, 578721382704613384ull, 1157442765409226768ull, 2314885530818453536ull, 4629771061636907072ull, 9259542123273814144ull
      |                                                                                                                        ^~~~~~~~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:187:144: error: conversion from ‘long long unsigned int’ to ‘Bitboard’ is ambiguous
  187 |     72340172838076673ull, 144680345676153346ull, 289360691352306692ull, 578721382704613384ull, 1157442765409226768ull, 2314885530818453536ull, 4629771061636907072ull, 9259542123273814144ull
      |                                                                                                                                                ^~~~~~~~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:187:168: error: conversion from ‘long long unsigned int’ to ‘Bitboard’ is ambiguous
  187 |     72340172838076673ull, 144680345676153346ull, 289360691352306692ull, 578721382704613384ull, 1157442765409226768ull, 2314885530818453536ull, 4629771061636907072ull, 9259542123273814144ull
      |                                                                                                                                                                        ^~~~~~~~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:190:5: error: conversion from ‘long long unsigned int’ to ‘Bitboard’ is ambiguous
  190 |     255ull, 65280ull, 16711680ull, 4278190080ull, 1095216660480ull, 280375465082880ull, 71776119061217280ull, 18374686479671623680ull
      |     ^~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:190:13: error: conversion from ‘long long unsigned int’ to ‘Bitboard’ is ambiguous
  190 |     255ull, 65280ull, 16711680ull, 4278190080ull, 1095216660480ull, 280375465082880ull, 71776119061217280ull, 18374686479671623680ull
      |             ^~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:190:23: error: conversion from ‘long long unsigned int’ to ‘Bitboard’ is ambiguous
  190 |     255ull, 65280ull, 16711680ull, 4278190080ull, 1095216660480ull, 280375465082880ull, 71776119061217280ull, 18374686479671623680ull
      |                       ^~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:190:36: error: conversion from ‘long long unsigned int’ to ‘Bitboard’ is ambiguous
  190 |     255ull, 65280ull, 16711680ull, 4278190080ull, 1095216660480ull, 280375465082880ull, 71776119061217280ull, 18374686479671623680ull
      |                                    ^~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:190:51: error: conversion from ‘long long unsigned int’ to ‘Bitboard’ is ambiguous
  190 |     255ull, 65280ull, 16711680ull, 4278190080ull, 1095216660480ull, 280375465082880ull, 71776119061217280ull, 18374686479671623680ull
      |                                                   ^~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:190:69: error: conversion from ‘long long unsigned int’ to ‘Bitboard’ is ambiguous
  190 |     255ull, 65280ull, 16711680ull, 4278190080ull, 1095216660480ull, 280375465082880ull, 71776119061217280ull, 18374686479671623680ull
      |                                                                     ^~~~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:190:89: error: conversion from ‘long long unsigned int’ to ‘Bitboard’ is ambiguous
  190 |     255ull, 65280ull, 16711680ull, 4278190080ull, 1095216660480ull, 280375465082880ull, 71776119061217280ull, 18374686479671623680ull
      |                                                                                         ^~~~~~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:190:111: error: conversion from ‘long long unsigned int’ to ‘Bitboard’ is ambiguous
  190 |     255ull, 65280ull, 16711680ull, 4278190080ull, 1095216660480ull, 280375465082880ull, 71776119061217280ull, 18374686479671623680ull
      |                                                                                                               ^~~~~~~~~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h: In function ‘void init_defs()’:
defs.h:389:40: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  389 |                         mask2 |= (1ULL << get_sq(x, y));
      |                                  ~~~~~~^~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:103:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator|=(const Bitboard&)’
  103 |     Bitboard& operator |= (const Bitboard &other) { bb |= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
defs.h:394:40: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  394 |                         mask2 |= (1ULL << get_sq(x, y));
      |                                  ~~~~~~^~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:103:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator|=(const Bitboard&)’
  103 |     Bitboard& operator |= (const Bitboard &other) { bb |= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
defs.h:399:35: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  399 |                     mask |= (1ULL << get_sq(r, f));
      |                             ~~~~~~^~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:103:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator|=(const Bitboard&)’
  103 |     Bitboard& operator |= (const Bitboard &other) { bb |= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
In file included from board.h:23:
attacks.h: In function ‘void attacks::initKnightAndKingAttacks()’:
attacks.h:100:45: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  100 |                 knightBBAttacks[i] |= (1ULL << get_sq(rankTo, fileTo));
      |                                       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:103:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator|=(const Bitboard&)’
  103 |     Bitboard& operator |= (const Bitboard &other) { bb |= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
attacks.h:105:43: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  105 |                 kingBBAttacks[i] |= (1ULL << get_sq(rankTo, fileTo));
      |                                     ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:103:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator|=(const Bitboard&)’
  103 |     Bitboard& operator |= (const Bitboard &other) { bb |= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
attacks.h:126:40: error: conversion from ‘long long unsigned int’ to ‘Bitboard’ is ambiguous
  126 |         kingRingMask[i] = (1ULL << sq) | kingBBAttacks[sq];
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:70:7: note:   initializing argument 1 of ‘constexpr Bitboard& Bitboard::operator=(Bitboard&&)’
   70 | class Bitboard {
      |       ^~~~~~~~
attacks.h:127:41: error: conversion from ‘long long unsigned int’ to ‘Bitboard’ is ambiguous
  127 |         kingSquareMask[i] = (1ULL << i) | kingBBAttacks[i];
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:70:7: note:   initializing argument 1 of ‘constexpr Bitboard& Bitboard::operator=(Bitboard&&)’
   70 | class Bitboard {
      |       ^~~~~~~~
attacks.h: In function ‘void attacks::initPawnAttacks()’:
attacks.h:141:52: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  141 |                 pawnAttacksMask[WHITE][i] |= (1ULL << (i + 7));
      |                                              ~~~~~~^~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:103:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator|=(const Bitboard&)’
  103 |     Bitboard& operator |= (const Bitboard &other) { bb |= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
attacks.h:143:52: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  143 |                 pawnAttacksMask[BLACK][i] |= (1ULL << (i - 9));
      |                                              ~~~~~~^~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:103:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator|=(const Bitboard&)’
  103 |     Bitboard& operator |= (const Bitboard &other) { bb |= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
attacks.h:147:52: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  147 |                 pawnAttacksMask[WHITE][i] |= (1ULL << (i + 9));
      |                                              ~~~~~~^~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:103:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator|=(const Bitboard&)’
  103 |     Bitboard& operator |= (const Bitboard &other) { bb |= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
attacks.h:149:52: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  149 |                 pawnAttacksMask[BLACK][i] |= (1ULL << (i - 7));
      |                                              ~~~~~~^~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:103:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator|=(const Bitboard&)’
  103 |     Bitboard& operator |= (const Bitboard &other) { bb |= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
attacks.h: In function ‘void attacks::initRays()’:
attacks.h:161:51: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  161 |                 r--, raysMask[sq][SOUTH] |= (1ULL << get_sq(r, f));
      |                                             ~~~~~~^~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:103:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator|=(const Bitboard&)’
  103 |     Bitboard& operator |= (const Bitboard &other) { bb |= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
attacks.h:164:51: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  164 |                 r++, raysMask[sq][NORTH] |= (1ULL << get_sq(r, f));
      |                                             ~~~~~~^~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:103:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator|=(const Bitboard&)’
  103 |     Bitboard& operator |= (const Bitboard &other) { bb |= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
attacks.h:167:50: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  167 |                 f--, raysMask[sq][WEST] |= (1ULL << get_sq(r, f));
      |                                            ~~~~~~^~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:103:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator|=(const Bitboard&)’
  103 |     Bitboard& operator |= (const Bitboard &other) { bb |= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
attacks.h:170:50: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  170 |                 f++, raysMask[sq][EAST] |= (1ULL << get_sq(r, f));
      |                                            ~~~~~~^~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:103:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator|=(const Bitboard&)’
  103 |     Bitboard& operator |= (const Bitboard &other) { bb |= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
attacks.h:174:60: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  174 |                 r--, f--, raysMask[sq][SOUTHWEST] |= (1ULL << get_sq(r, f));
      |                                                      ~~~~~~^~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:103:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator|=(const Bitboard&)’
  103 |     Bitboard& operator |= (const Bitboard &other) { bb |= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
attacks.h:177:60: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  177 |                 r++, f--, raysMask[sq][NORTHWEST] |= (1ULL << get_sq(r, f));
      |                                                      ~~~~~~^~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:103:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator|=(const Bitboard&)’
  103 |     Bitboard& operator |= (const Bitboard &other) { bb |= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
attacks.h:180:60: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  180 |                 r--, f++, raysMask[sq][SOUTHEAST] |= (1ULL << get_sq(r, f));
      |                                                      ~~~~~~^~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:103:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator|=(const Bitboard&)’
  103 |     Bitboard& operator |= (const Bitboard &other) { bb |= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
attacks.h:183:60: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  183 |                 r++, f++, raysMask[sq][NORTHEAST] |= (1ULL << get_sq(r, f));
      |                                                      ~~~~~~^~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:103:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator|=(const Bitboard&)’
  103 |     Bitboard& operator |= (const Bitboard &other) { bb |= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
board.h: In member function ‘void Board::place_piece_at_sq(Piece, Square)’:
board.h:177:42: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  177 |         pieces[color_of(piece)] |= (1ULL << sq);
      |                                    ~~~~~~^~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:103:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator|=(const Bitboard&)’
  103 |     Bitboard& operator |= (const Bitboard &other) { bb |= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
board.h:178:28: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  178 |         bb[piece] |= (1ULL << sq);
      |                      ~~~~~~^~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:103:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator|=(const Bitboard&)’
  103 |     Bitboard& operator |= (const Bitboard &other) { bb |= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
In file included from init.h:21:
move.h: In member function ‘void Board::make_move(Move)’:
move.h:62:40: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
   62 |         pieces[turn] ^= (1ULL << from) ^ (1ULL << to);
      |                         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:63:37: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
   63 |         bb[piece] ^= (1ULL << from) ^ (1ULL << to);
      |                      ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:77:39: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
   77 |             pieces[1 ^ turn] ^= (1ULL << to);
      |                                 ~~~~~~^~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:78:36: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
   78 |             bb[piece_cap] ^= (1ULL << to);
      |                              ~~~~~~^~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:115:40: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  115 |         pieces[turn] ^= (1ULL << from) ^ (1ULL << to);
      |                         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:116:37: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  116 |         bb[piece] ^= (1ULL << from) ^ (1ULL << to);
      |                      ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:121:35: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  121 |         pieces[1 ^ turn] ^= (1ULL << pos);
      |                             ~~~~~~^~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:122:32: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  122 |         bb[piece_cap] ^= (1ULL << pos);
      |                          ~~~~~~^~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:145:73: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  145 |         pieces[turn] ^= (1ULL << from) ^ (1ULL << to) ^ (1ULL << rFrom) ^ (1ULL << rTo);
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:146:37: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  146 |         bb[piece] ^= (1ULL << from) ^ (1ULL << to);
      |                      ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:147:39: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  147 |         bb[rPiece] ^= (1ULL << rFrom) ^ (1ULL << rTo);
      |                       ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:170:40: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  170 |         pieces[turn] ^= (1ULL << from) ^ (1ULL << to);
      |                         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:171:28: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  171 |         bb[piece] ^= (1ULL << from);
      |                      ~~~~~~^~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:172:33: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  172 |         bb[prom_piece] ^= (1ULL << to);
      |                           ~~~~~~^~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:175:36: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  175 |             bb[piece_cap] ^= (1ULL << to);
      |                              ~~~~~~^~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:176:39: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  176 |             pieces[1 ^ turn] ^= (1ULL << to);
      |                                 ~~~~~~^~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h: In member function ‘void Board::undo_move(Move)’:
move.h:225:40: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  225 |         pieces[turn] ^= (1ULL << from) ^ (1ULL << to);
      |                         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:226:37: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  226 |         bb[piece] ^= (1ULL << from) ^ (1ULL << to);
      |                      ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:232:39: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  232 |             pieces[1 ^ turn] ^= (1ULL << to);
      |                                 ~~~~~~^~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:233:36: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  233 |             bb[piece_cap] ^= (1ULL << to);
      |                              ~~~~~~^~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:254:73: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  254 |         pieces[turn] ^= (1ULL << from) ^ (1ULL << to) ^ (1ULL << rFrom) ^ (1ULL << rTo);
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:255:37: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  255 |         bb[piece] ^= (1ULL << from) ^ (1ULL << to);
      |                      ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:256:39: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  256 |         bb[rPiece] ^= (1ULL << rFrom) ^ (1ULL << rTo);
      |                       ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:269:40: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  269 |         pieces[turn] ^= (1ULL << from) ^ (1ULL << to);
      |                         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:270:37: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  270 |         bb[piece] ^= (1ULL << from) ^ (1ULL << to);
      |                      ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:272:35: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  272 |         pieces[1 ^ turn] ^= (1ULL << pos);
      |                             ~~~~~~^~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:273:32: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  273 |         bb[piece_cap] ^= (1ULL << pos);
      |                          ~~~~~~^~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:286:40: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  286 |         pieces[turn] ^= (1ULL << from) ^ (1ULL << to);
      |                         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:287:28: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  287 |         bb[piece] ^= (1ULL << from);
      |                      ~~~~~~^~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:288:33: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  288 |         bb[prom_piece] ^= (1ULL << to);
      |                           ~~~~~~^~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:294:39: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  294 |             pieces[1 ^ turn] ^= (1ULL << to);
      |                                 ~~~~~~^~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h:295:36: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  295 |             bb[piece_cap] ^= (1ULL << to);
      |                              ~~~~~~^~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
move.h: In function ‘int gen_legal_moves(Board&, MoveList&)’:
move.h:392:83: error: call of overloaded ‘Bitboard(long long unsigned int)’ is ambiguous
  392 |                 if (!(genAttacksRook(all ^ b ^ Bitboard(sq2) ^ Bitboard(1ULL << ep), king) & enemyOrthSliders) &&
      |                                                                                   ^
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(const Bitboard&)’
   70 | class Bitboard {
      |       ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(Bitboard&&)’
move.h:393:85: error: call of overloaded ‘Bitboard(long long unsigned int)’ is ambiguous
  393 |                     !(genAttacksBishop(all ^ b ^ Bitboard(sq2) ^ Bitboard(1ULL << ep), king) & enemyDiagSliders)) {
      |                                                                                     ^
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(const Bitboard&)’
   70 | class Bitboard {
      |       ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(Bitboard&&)’
move.h:405:61: error: call of overloaded ‘Bitboard(long long unsigned int)’ is ambiguous
  405 |                 if (!(attacked & Bitboard(7ULL << (king - 2))) && !(all & Bitboard(7ULL << (king - 3)))) {
      |                                                             ^
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(const Bitboard&)’
   70 | class Bitboard {
      |       ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(Bitboard&&)’
move.h:405:102: error: call of overloaded ‘Bitboard(long long unsigned int)’ is ambiguous
  405 |                 if (!(attacked & Bitboard(7ULL << (king - 2))) && !(all & Bitboard(7ULL << (king - 3)))) {
      |                                                                                                      ^
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(const Bitboard&)’
   70 | class Bitboard {
      |       ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(Bitboard&&)’
move.h:411:55: error: call of overloaded ‘Bitboard(long long unsigned int)’ is ambiguous
  411 |                 if (!(attacked & Bitboard(7ULL << king)) && !(all & Bitboard(3ULL << (king + 1)))) {
      |                                                       ^
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(const Bitboard&)’
   70 | class Bitboard {
      |       ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(Bitboard&&)’
move.h:411:96: error: call of overloaded ‘Bitboard(long long unsigned int)’ is ambiguous
  411 |                 if (!(attacked & Bitboard(7ULL << king)) && !(all & Bitboard(3ULL << (king + 1)))) {
      |                                                                                                ^
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(const Bitboard&)’
   70 | class Bitboard {
      |       ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(Bitboard&&)’
move.h:478:74: error: conversion from ‘long long unsigned int’ to ‘Bitboard’ is ambiguous
  478 |                     b3 = (1ULL << (sq_dir(color, NORTH, sq2))) & emptySq & line_mask[king][sq];
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:70:7: note:   initializing argument 1 of ‘constexpr Bitboard& Bitboard::operator=(Bitboard&&)’
   70 | class Bitboard {
      |       ^~~~~~~~
move.h: In function ‘int gen_legal_noisy_moves(Board&, MoveList&)’:
move.h:629:83: error: call of overloaded ‘Bitboard(long long unsigned int)’ is ambiguous
  629 |                 if (!(genAttacksRook(all ^ b ^ Bitboard(sq2) ^ Bitboard(1ULL << ep), king) & enemyOrthSliders) &&
      |                                                                                   ^
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(const Bitboard&)’
   70 | class Bitboard {
      |       ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(Bitboard&&)’
move.h:630:85: error: call of overloaded ‘Bitboard(long long unsigned int)’ is ambiguous
  630 |                     !(genAttacksBishop(all ^ b ^ Bitboard(sq2) ^ Bitboard(1ULL << ep), king) & enemyDiagSliders)) {
      |                                                                                     ^
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(const Bitboard&)’
   70 | class Bitboard {
      |       ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(Bitboard&&)’
move.h: In function ‘int gen_legal_quiet_moves(Board&, MoveList&)’:
move.h:780:61: error: call of overloaded ‘Bitboard(long long unsigned int)’ is ambiguous
  780 |                 if (!(attacked & Bitboard(7ULL << (king - 2))) && !(all & Bitboard(7ULL << (king - 3)))) {
      |                                                             ^
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(const Bitboard&)’
   70 | class Bitboard {
      |       ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(Bitboard&&)’
move.h:780:102: error: call of overloaded ‘Bitboard(long long unsigned int)’ is ambiguous
  780 |                 if (!(attacked & Bitboard(7ULL << (king - 2))) && !(all & Bitboard(7ULL << (king - 3)))) {
      |                                                                                                      ^
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(const Bitboard&)’
   70 | class Bitboard {
      |       ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(Bitboard&&)’
move.h:786:55: error: call of overloaded ‘Bitboard(long long unsigned int)’ is ambiguous
  786 |                 if (!(attacked & Bitboard(7ULL << king)) && !(all & Bitboard(3ULL << (king + 1)))) {
      |                                                       ^
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(const Bitboard&)’
   70 | class Bitboard {
      |       ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(Bitboard&&)’
move.h:786:96: error: call of overloaded ‘Bitboard(long long unsigned int)’ is ambiguous
  786 |                 if (!(attacked & Bitboard(7ULL << king)) && !(all & Bitboard(3ULL << (king + 1)))) {
      |                                                                                                ^
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(const Bitboard&)’
   70 | class Bitboard {
      |       ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(Bitboard&&)’
move.h:832:67: error: conversion from ‘long long unsigned int’ to ‘Bitboard’ is ambiguous
  832 |                 b2 = (1ULL << sq_dir(color, NORTH, sq)) & emptySq & line_mask[king][sq];
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:70:7: note:   initializing argument 1 of ‘constexpr Bitboard& Bitboard::operator=(Bitboard&&)’
   70 | class Bitboard {
      |       ^~~~~~~~
move.h: In function ‘bool is_legal(Board&, Move)’:
move.h:972:63: error: call of overloaded ‘Bitboard(long long unsigned int)’ is ambiguous
  972 |                     return !(all & Bitboard(7ULL << (from - 3)));
      |                                                               ^
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(const Bitboard&)’
   70 | class Bitboard {
      |       ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(Bitboard&&)’
move.h:974:59: error: call of overloaded ‘Bitboard(long long unsigned int)’ is ambiguous
  974 |                 return !(all & Bitboard(3ULL << (from + 1)));
      |                                                           ^
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(const Bitboard&)’
   70 | class Bitboard {
      |       ^~~~~~~~
defs.h:70:7: note: candidate: ‘constexpr Bitboard::Bitboard(Bitboard&&)’
In file included from search.h:20,
                 from uci.h:22,
                 from main.cpp:21:
movepick.h: In function ‘bool see(Board&, Move, int)’:
movepick.h:234:47: error: conversion from ‘long long unsigned int’ to ‘const Bitboard’ is ambiguous
  234 |     if (type(move) == ENPASSANT) occ ^= (1ULL << board.enpas());
      |                                         ~~~~~~^~~~~~~~~~~~~~~~~
defs.h:76:5: note: candidate: ‘Bitboard::Bitboard(Square)’
   76 |     Bitboard(Square sq) : bb(1ULL << sq) {}
      |     ^~~~~~~~
defs.h:75:5: note: candidate: ‘Bitboard::Bitboard(uint64_t)’
   75 |     Bitboard(uint64_t _bb = 0) : bb(_bb) {}
      |     ^~~~~~~~
defs.h:105:44: note:   initializing argument 1 of ‘Bitboard& Bitboard::operator^=(const Bitboard&)’
  105 |     Bitboard& operator ^= (const Bitboard &other) { bb ^= other.bb; return *this; }
      |                            ~~~~~~~~~~~~~~~~^~~~~
3rdparty/Fathom/src/tbprobe.c: In function ‘void tb_expand_mate({anonymous}::Pos*, TbRootMove*, {anonymous}::Value, unsigned int)’:
3rdparty/Fathom/src/tbprobe.c:2459:41: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
 2459 |   if (popcount(pos->white | pos->black) <= cardinalityDTM) {
      |                                         ^
make: *** [makefile:54:pgo] 错误 1