Skip to content

Commit 94e680c

Browse files
Unify derived traits
1 parent fddbbfb commit 94e680c

File tree

6 files changed

+16
-11
lines changed

6 files changed

+16
-11
lines changed

cminesweeper/src/lib.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use std::slice;
77
use strum_macros::Display;
88

99
#[repr(C)]
10-
#[derive(Eq, PartialEq, Display, Debug)]
10+
#[derive(Clone, Copy, Eq, PartialEq, Display, Debug)]
1111
pub enum CError {
1212
Ok,
1313
InvalidInput,
@@ -162,13 +162,15 @@ fn open_common(
162162

163163
// Based on this https://s3.amazonaws.com/temp.michaelfbryan.com/objects/index.html
164164
#[repr(C)]
165+
#[derive(Clone, Eq, PartialEq, Debug)]
165166
pub struct COpenedField {
166167
row: GameSizeType,
167168
column: GameSizeType,
168169
field_type: FieldType,
169170
}
170171

171172
#[repr(C)]
173+
#[derive(Clone, Eq, PartialEq, Debug)]
172174
pub struct COpenInfo {
173175
result: OpenResult,
174176
newly_opened_fields_length: ArraySizeType,
@@ -177,6 +179,7 @@ pub struct COpenInfo {
177179
}
178180

179181
#[repr(C)]
182+
#[derive(Clone, Eq, PartialEq, Debug)]
180183
pub struct CErrorInfo {
181184
error_code: CError,
182185
error_message_length: ArraySizeType,

minesweeper/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ edition = "2018"
99
[dependencies]
1010
rand = "0.7.2"
1111
indexmap = "1.0.2"
12-
hrsw = "0.1.0"
12+
hrsw = "0.1.2"
1313
strum = "0.18.0"
1414
strum_macros = "0.18.0"
1515
lazy_static = "1.4.0"

minesweeper/src/minesweeper_logic/field_info.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use strum_macros::Display;
22

3+
#[repr(C)]
34
#[derive(Clone, Copy, Eq, PartialEq, Display, Debug)]
45
pub enum FieldState {
56
Closed,
@@ -18,7 +19,7 @@ impl FieldState {
1819
}
1920

2021
#[repr(C)]
21-
#[derive(Clone, Eq, PartialEq, Display, Debug)]
22+
#[derive(Clone, Copy, Eq, PartialEq, Display, Debug)]
2223
pub enum FieldType {
2324
Empty,
2425
Numbered(u8),

minesweeper/src/minesweeper_logic/game.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ static GAME_IS_ALREADY_STOPPED_ERROR: &'static str = "Game is already stopped!";
1010

1111
#[repr(C)]
1212
#[allow(dead_code)]
13-
#[derive(Eq, PartialEq, Display, Debug)]
13+
#[derive(Clone, Copy, Eq, PartialEq, Display, Debug)]
1414
pub enum GameLevel {
1515
Beginner,
1616
Intermediate,
1717
Expert,
1818
}
1919

20-
#[derive(Eq, PartialEq, Display, Debug)]
20+
#[derive(Clone, Copy, Eq, PartialEq, Display, Debug)]
2121
enum GameState {
2222
NotStarted,
2323
Started,

minesweeper/src/minesweeper_logic/results.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,23 @@ use std::collections::HashMap;
44
use strum_macros::Display;
55

66
#[repr(C)]
7-
#[derive(Eq, PartialEq, Display, Debug)]
7+
#[derive(Clone, Copy, Eq, PartialEq, Display, Debug)]
88
pub enum FlagResult {
99
Flagged,
1010
FlagRemoved,
1111
AlreadyOpened,
1212
}
1313

1414
#[repr(C)]
15-
#[derive(Eq, PartialEq, Display, Debug)]
15+
#[derive(Clone, Copy, Eq, PartialEq, Display, Debug)]
1616
pub enum OpenResult {
1717
Ok,
1818
IsFlagged,
1919
Boom,
2020
WINNER,
2121
}
2222

23-
#[derive(Eq, PartialEq, Debug)]
23+
#[derive(Clone, Eq, PartialEq, Debug)]
2424
pub struct OpenInfo {
2525
pub result: OpenResult,
2626
pub newly_opened_fields: HashMap<(SizeType, SizeType), FieldType>,

minesweeper/src/minesweeper_logic/table.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ pub trait Table {
3131
fn toggle_flag(&mut self, row: SizeType, col: SizeType) -> Result<FlagResult, &'static str>;
3232
}
3333

34-
#[derive(Eq, PartialEq, Display, Debug)]
34+
#[derive(Clone, Copy, Eq, PartialEq, Display, Debug)]
3535
enum FieldOpenResult {
3636
AlreadyOpened,
3737
SimpleOpen,
@@ -40,7 +40,7 @@ enum FieldOpenResult {
4040
IsFlagged,
4141
}
4242

43-
#[derive(Debug, Eq, PartialEq)]
43+
#[derive(Clone, Eq, PartialEq, Debug)]
4444
struct FieldInner {
4545
field_info: FieldInfo,
4646
}
@@ -158,6 +158,7 @@ impl Field for FieldInner {
158158
}
159159
}
160160

161+
#[derive(Clone, Eq, PartialEq, Debug)]
161162
struct FieldVisiter {
162163
height: SizeType,
163164
width: SizeType,
@@ -335,7 +336,7 @@ fn generate_fields(
335336
Ok(fields)
336337
}
337338

338-
#[derive(Debug, Eq, PartialEq)]
339+
#[derive(Clone, Eq, PartialEq, Debug)]
339340
pub struct BasicTable {
340341
height: SizeType,
341342
width: SizeType,

0 commit comments

Comments
 (0)