fn scan_pawn_moves_single_push(
    board: &Board,
    moves: &mut [MaybeUninit<Move>; 218],
    index: usize,
    evasion_mask: u64
) -> usize
Expand description

Generates all possible single pushes for the pawns at the position specified by board, stores them into moves list (starting from index) and returns index of the first free slot. Use evasion_mask with value different than u64::MAX to restrict generator to the specified squares (useful during checks).