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