+ // Remove our pinned pieces from attacks if the captured piece is not
+ // a pinner, otherwise we could remove a valid "capture the pinner" attack.
+ if (pinned[us] != EmptyBoardBB && !bit_is_set(pinners[us], to))
+ attackers &= ~pinned[us];
+
+ // Remove opponent pinned pieces from attacks if the moving piece is not
+ // a pinner, otherwise we could remove a piece that is no more pinned
+ // due to our pinner piece is moving away.
+ if (pinned[them] != EmptyBoardBB && !bit_is_set(pinners[them], from))
+ attackers &= ~pinned[them];
+