pub fn copy_board(src: &[[Option<Card>; 5]; 4]) -> [[Option<Card>; 5]; 4] {
    let mut dst: [[Option<Card>; 5]; 4] = Default::default();
    for i in 0..4 {
        for j in 0..5 {
            if src[i][j].is_some() {
                dst[i][j] = Some(Card::copy(src[i][j].as_ref().unwrap()));
            }
        }
    }
    return dst;
}
// copies the board from source to destination
copies the board from source to destination
copies the board from source to destination
pub fn copy_board(src: &[[Option<Card>; 5]; 4]) -> [[Option<Card>; 5]; 4] {
    let mut dst: [[Option<Card>; 5]; 4] = Default::default();
    for i in 0..4 {
        for j in 0..5 {
            if src[i][j].is_some() {
                dst[i][j] = Some(Card::copy(src[i][j].as_ref().unwrap()));
            }
        }
    }
    return dst;
}
pub fn copy_board ( src : & [ [ Option < Card > ; 5 ] ; 4 ] ) -> [ [ Option < Card > ; 5 ] ; 4 ] { let mut dst : [ [ Option < Card > ; 5 ] ; 4 ] = Default :: default ( ) ; for i in 0 .. 4 { for j in 0 .. 5 { if src [ i ] [ j ] . is_some ( ) { dst [ i ] [ j ] = Some ( Card :: copy ( src [ i ] [ j ] . as_ref ( ) . unwrap ( ) ) ) ; } } } return dst ; }
copies the board from source to destination
copies the board from source to destination
src
&[[Option<Card>; 5]; 4]