do {
pv.push_back(m);
- assert(pos.move_is_legal(pv[ply]));
+ assert(MoveList<LEGAL>(pos).contains(pv[ply]));
+
pos.do_move(pv[ply++], *st++);
tte = TT.probe(pos.key());
if (!tte || tte->move() != pv[ply]) // Don't overwrite correct entries
TT.store(pos.key(), VALUE_NONE, BOUND_NONE, DEPTH_NONE, pv[ply]);
- assert(pos.move_is_legal(pv[ply]));
+ assert(MoveList<LEGAL>(pos).contains(pv[ply]));
+
pos.do_move(pv[ply++], *st++);
} while (pv[ply] != MOVE_NONE);