- occ ^= (b & (~b + 1));
- attackers |= (attacks_bb<ROOK>(to, occ) & pieces(ROOK, QUEEN))
- | (attacks_bb<BISHOP>(to, occ) & pieces(BISHOP, QUEEN));
-
- attackers &= occ; // Cut out pieces we've already done
+ occupied ^= (b & (~b + 1));
+ attackers |= (attacks_bb<ROOK>(to, occupied) & pieces(ROOK, QUEEN))
+ | (attacks_bb<BISHOP>(to, occupied) & pieces(BISHOP, QUEEN));