From 88a5ae8ae41e9961144354c91ca5dc4f817f74b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Hauspie?= <michael.hauspie@univ-lille.fr> Date: Sun, 27 Nov 2022 17:52:05 +0100 Subject: [PATCH] Remove need for Copy and Clone, too soon --- src/main.rs | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/main.rs b/src/main.rs index 0020818..e849aee 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,3 @@ -#[derive(Clone, Copy)] enum Square { Empty, Cross, @@ -6,7 +5,7 @@ enum Square { } -fn square_to_char(s: Square) -> char { +fn square_to_char(s: &Square) -> char { match s { Square::Empty => '.', Square::Cross => 'X', @@ -18,9 +17,9 @@ fn display(board: [Square; 9]) { for row in 0..3 { println!( " {} | {} | {}", - square_to_char(board[row * 3]), - square_to_char(board[row * 3 + 1]), - square_to_char(board[row * 3 + 2]) + square_to_char(&board[row * 3]), + square_to_char(&board[row * 3 + 1]), + square_to_char(&board[row * 3 + 2]) ); if row == 0 || row == 1 { println!("---+---+---"); @@ -29,7 +28,17 @@ fn display(board: [Square; 9]) { } fn main() { - let board = [Square::Empty; 9]; + let board = [ + Square::Empty, + Square::Cross, + Square::Circle, + Square::Empty, + Square::Empty, + Square::Empty, + Square::Empty, + Square::Empty, + Square::Empty, + ]; display(board); } -- GitLab