Skip to content

Commit fec5c92

Browse files
committed
impl: make IDs implement Copy trait
It's a usize underneath, there's no need explicit `clone` everywhere.
1 parent 26273c9 commit fec5c92

File tree

10 files changed

+43
-43
lines changed

10 files changed

+43
-43
lines changed

src/rust/rust_kvs/examples/basic.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ fn main() -> Result<(), ErrorCode> {
1919
// Build KVS instance for given instance ID and temporary directory.
2020
// `need_kvs` is explicitly set to `false`, but this is the default value.
2121
// KVS files are not required.
22-
let builder = KvsBuilder::<Kvs>::new(instance_id.clone())
22+
let builder = KvsBuilder::<Kvs>::new(instance_id)
2323
.dir(dir_string.clone())
2424
.need_kvs(false);
2525
let kvs = builder.build()?;

src/rust/rust_kvs/examples/defaults.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ fn main() -> Result<(), ErrorCode> {
3939
let instance_id = InstanceId(0);
4040

4141
// Create and save defaults file.
42-
create_defaults_file(dir.path().to_path_buf(), instance_id.clone())?;
42+
create_defaults_file(dir.path().to_path_buf(), instance_id)?;
4343

4444
// Build KVS instance for given instance ID and temporary directory.
4545
// `need_defaults` is set to `true` - defaults are required.

src/rust/rust_kvs/examples/flush.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@ fn main() -> Result<(), ErrorCode> {
2626
let instance_id = InstanceId(0);
2727

2828
// KVS and hash file paths.
29-
let (kvs_path, hash_path) = get_kvs_path(dir.path().to_path_buf(), instance_id.clone());
29+
let (kvs_path, hash_path) = get_kvs_path(dir.path().to_path_buf(), instance_id);
3030

3131
{
3232
println!("-> disabled `flush_on_exit`");
3333

3434
{
3535
// Build KVS instance for given instance ID and temporary directory.
36-
let builder = KvsBuilder::<Kvs>::new(instance_id.clone()).dir(dir_string.clone());
36+
let builder = KvsBuilder::<Kvs>::new(instance_id).dir(dir_string.clone());
3737
let mut kvs = builder.build()?;
3838

3939
// Disable flush on exit.
@@ -54,7 +54,7 @@ fn main() -> Result<(), ErrorCode> {
5454

5555
{
5656
// Build KVS instance for given instance ID and temporary directory.
57-
let builder = KvsBuilder::<Kvs>::new(instance_id.clone()).dir(dir_string.clone());
57+
let builder = KvsBuilder::<Kvs>::new(instance_id).dir(dir_string.clone());
5858
let mut kvs = builder.build()?;
5959

6060
// Explicitly enable flush on exit - this is the default.
@@ -75,7 +75,7 @@ fn main() -> Result<(), ErrorCode> {
7575

7676
{
7777
// Build KVS instance for given instance ID and temporary directory.
78-
let builder = KvsBuilder::<Kvs>::new(instance_id.clone()).dir(dir_string.clone());
78+
let builder = KvsBuilder::<Kvs>::new(instance_id).dir(dir_string.clone());
7979
let mut kvs = builder.build()?;
8080

8181
// Disable flush on exit.
@@ -91,7 +91,7 @@ fn main() -> Result<(), ErrorCode> {
9191

9292
{
9393
// Build KVS instance to check current state.
94-
let builder = KvsBuilder::<Kvs>::new(instance_id.clone())
94+
let builder = KvsBuilder::<Kvs>::new(instance_id)
9595
.dir(dir_string)
9696
.need_kvs(true);
9797
let mut kvs = builder.build()?;

src/rust/rust_kvs/examples/snapshots.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ fn main() -> Result<(), ErrorCode> {
1717
println!("-> `snapshot_count` and `snapshot_max_count` usage");
1818

1919
// Build KVS instance for given instance ID and temporary directory.
20-
let builder = KvsBuilder::<Kvs>::new(instance_id.clone()).dir(dir_string.clone());
20+
let builder = KvsBuilder::<Kvs>::new(instance_id).dir(dir_string.clone());
2121
let mut kvs = builder.build()?;
2222
kvs.set_flush_on_exit(FlushOnExit::No);
2323

@@ -39,7 +39,7 @@ fn main() -> Result<(), ErrorCode> {
3939
println!("-> `snapshot_restore` usage");
4040

4141
// Build KVS instance for given instance ID and temporary directory.
42-
let builder = KvsBuilder::<Kvs>::new(instance_id.clone()).dir(dir_string.clone());
42+
let builder = KvsBuilder::<Kvs>::new(instance_id).dir(dir_string.clone());
4343
let mut kvs = builder.build()?;
4444
kvs.set_flush_on_exit(FlushOnExit::No);
4545

src/rust/rust_kvs/src/kvs.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1046,7 +1046,7 @@ mod kvs_tests {
10461046
kvs.flush().unwrap();
10471047
let snapshot_id = SnapshotId(0);
10481048
// Functions below check if file exist.
1049-
kvs.get_kvs_filename(snapshot_id.clone()).unwrap();
1049+
kvs.get_kvs_filename(snapshot_id).unwrap();
10501050
kvs.get_hash_filename(snapshot_id).unwrap();
10511051
}
10521052

src/rust/rust_kvs/src/kvs_api.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ use crate::error_code::ErrorCode;
1818
use crate::kvs_value::KvsValue;
1919

2020
/// Instance ID
21-
#[derive(Clone, Debug, PartialEq)]
21+
#[derive(Clone, Copy, Debug, PartialEq)]
2222
pub struct InstanceId(pub usize);
2323

2424
impl fmt::Display for InstanceId {
@@ -34,7 +34,7 @@ impl From<InstanceId> for usize {
3434
}
3535

3636
/// Snapshot ID
37-
#[derive(Clone, Debug, PartialEq)]
37+
#[derive(Clone, Copy, Debug, PartialEq)]
3838
pub struct SnapshotId(pub usize);
3939

4040
impl fmt::Display for SnapshotId {

src/rust/rust_kvs/src/kvs_builder.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ mod tests {
250250
#[test]
251251
fn test_builder_only_instance_id() {
252252
let instance_id = InstanceId(42);
253-
let builder = KvsBuilder::<StubKvs>::new(instance_id.clone());
253+
let builder = KvsBuilder::<StubKvs>::new(instance_id);
254254
let kvs = builder.build().unwrap();
255255
assert_eq!(kvs.instance_id().clone(), instance_id);
256256
assert_eq!(kvs.need_defaults().clone(), OpenNeedDefaults::Optional);
@@ -261,7 +261,7 @@ mod tests {
261261
#[test]
262262
fn test_builder_need_defaults() {
263263
let instance_id = InstanceId(1);
264-
let builder = KvsBuilder::<StubKvs>::new(instance_id.clone()).need_defaults(true);
264+
let builder = KvsBuilder::<StubKvs>::new(instance_id).need_defaults(true);
265265
let kvs = builder.build().unwrap();
266266
assert_eq!(kvs.instance_id().clone(), instance_id);
267267
assert_eq!(kvs.need_defaults().clone(), OpenNeedDefaults::Required);
@@ -272,7 +272,7 @@ mod tests {
272272
#[test]
273273
fn test_builder_need_kvs() {
274274
let instance_id = InstanceId(1);
275-
let builder = KvsBuilder::<StubKvs>::new(instance_id.clone()).need_kvs(true);
275+
let builder = KvsBuilder::<StubKvs>::new(instance_id).need_kvs(true);
276276
let kvs = builder.build().unwrap();
277277
assert_eq!(kvs.instance_id().clone(), instance_id);
278278
assert_eq!(kvs.need_defaults().clone(), OpenNeedDefaults::Optional);
@@ -284,7 +284,7 @@ mod tests {
284284
fn test_builder_dir() {
285285
let instance_id = InstanceId(1);
286286
let dir = "/tmp/test_kvs".to_string();
287-
let builder = KvsBuilder::<StubKvs>::new(instance_id.clone()).dir(dir.clone());
287+
let builder = KvsBuilder::<StubKvs>::new(instance_id).dir(dir.clone());
288288
let kvs = builder.build().unwrap();
289289
assert_eq!(kvs.instance_id().clone(), instance_id);
290290
assert_eq!(kvs.need_defaults().clone(), OpenNeedDefaults::Optional);
@@ -296,7 +296,7 @@ mod tests {
296296
fn test_builder_chained() {
297297
let instance_id = InstanceId(1);
298298
let dir = "/tmp/test_kvs".to_string();
299-
let builder = KvsBuilder::<StubKvs>::new(instance_id.clone())
299+
let builder = KvsBuilder::<StubKvs>::new(instance_id)
300300
.need_defaults(true)
301301
.need_kvs(true)
302302
.dir(dir.clone());

src/rust/rust_kvs/tests/cit_default_values.rs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ use tinyjson::{JsonGenerator, JsonValue};
1717
fn write_defaults_file(
1818
dir_string: &Path,
1919
data: HashMap<String, JsonValue>,
20-
instance: &InstanceId,
20+
instance: InstanceId,
2121
) -> Result<(), ErrorCode> {
2222
let filepath = dir_string.join(format!("kvs_{instance}_default.json"));
2323

@@ -64,21 +64,21 @@ fn cit_persistency_default_values() -> Result<(), ErrorCode> {
6464
write_defaults_file(
6565
dir.path(),
6666
HashMap::from([(keyname.clone(), JsonValue::from(default_value))]),
67-
&default_id,
67+
default_id,
6868
)?;
6969

7070
// Assertions.
7171
{
7272
// KVS instance with defaults.
7373
let kvs_with_defaults = Kvs::open(
74-
default_id.clone(),
74+
default_id,
7575
OpenNeedDefaults::Required,
7676
OpenNeedKvs::Optional,
7777
Some(dir_string.clone()),
7878
)?;
7979
// KVS instance without defaults.
8080
let kvs_without_defaults = Kvs::open(
81-
non_default_id.clone(),
81+
non_default_id,
8282
OpenNeedDefaults::Optional,
8383
OpenNeedKvs::Optional,
8484
Some(dir_string.clone()),
@@ -124,14 +124,14 @@ fn cit_persistency_default_values() -> Result<(), ErrorCode> {
124124
{
125125
// KVS instance with defaults.
126126
let kvs_with_defaults = Kvs::open(
127-
default_id.clone(),
127+
default_id,
128128
OpenNeedDefaults::Required,
129129
OpenNeedKvs::Optional,
130130
Some(dir_string.clone()),
131131
)?;
132132
// KVS instance without defaults.
133133
let kvs_without_defaults = Kvs::open(
134-
non_default_id.clone(),
134+
non_default_id,
135135
OpenNeedDefaults::Optional,
136136
OpenNeedKvs::Optional,
137137
Some(dir_string.clone()),
@@ -167,7 +167,7 @@ fn cit_persistency_default_values_optional() -> Result<(), ErrorCode> {
167167
write_defaults_file(
168168
dir.path(),
169169
HashMap::from([(keyname.clone(), JsonValue::from(default_value))]),
170-
&default_id,
170+
default_id,
171171
)
172172
.unwrap();
173173

@@ -176,7 +176,7 @@ fn cit_persistency_default_values_optional() -> Result<(), ErrorCode> {
176176
// KVS instance with present defaults file and optional defaults setting
177177
// (should load defaults).
178178
let kvs_optional_defaults = Kvs::open(
179-
default_id.clone(),
179+
default_id,
180180
OpenNeedDefaults::Optional,
181181
OpenNeedKvs::Optional,
182182
Some(dir_string.clone()),
@@ -213,14 +213,14 @@ fn cit_persistency_defaults_enabled_values_removal() -> Result<(), ErrorCode> {
213213
write_defaults_file(
214214
dir.path(),
215215
HashMap::from([(keyname.clone(), JsonValue::from(default_value))]),
216-
&default_id,
216+
default_id,
217217
)?;
218218

219219
// Assertions.
220220
{
221221
// KVS instance with defaults.
222222
let kvs_with_defaults = Kvs::open(
223-
default_id.clone(),
223+
default_id,
224224
OpenNeedDefaults::Required,
225225
OpenNeedKvs::Optional,
226226
Some(dir_string.clone()),
@@ -310,7 +310,7 @@ fn cit_persistency_invalid_default_values() -> Result<(), ErrorCode> {
310310

311311
// Assertions: opening should fail due to invalid JSON
312312
let kvs = Kvs::open(
313-
default_id.clone(),
313+
default_id,
314314
OpenNeedDefaults::Required,
315315
OpenNeedKvs::Optional,
316316
Some(dir_string.clone()),
@@ -343,14 +343,14 @@ fn cit_persistency_reset_all_default_values() -> Result<(), ErrorCode> {
343343
(keyname1.clone(), JsonValue::from(default_value)),
344344
(keyname2.clone(), JsonValue::from(default_value)),
345345
]),
346-
&default_id,
346+
default_id,
347347
)?;
348348

349349
// Assertions.
350350
{
351351
// KVS instance with defaults.
352352
let kvs_with_defaults = Kvs::open(
353-
default_id.clone(),
353+
default_id,
354354
OpenNeedDefaults::Required,
355355
OpenNeedKvs::Optional,
356356
Some(dir_string.clone()),

src/rust/rust_kvs/tests/cit_multiple_kvs.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -98,14 +98,14 @@ fn cit_persistency_multiple_instances_same_id_common_value() -> Result<(), Error
9898
{
9999
// Create first KVS instance.
100100
let kvs1 = Kvs::open(
101-
instance_id.clone(),
101+
instance_id,
102102
OpenNeedDefaults::Optional,
103103
OpenNeedKvs::Optional,
104104
Some(dir_string.clone()),
105105
)?;
106106
// Create second KVS instance.
107107
let kvs2 = Kvs::open(
108-
instance_id.clone(),
108+
instance_id,
109109
OpenNeedDefaults::Optional,
110110
OpenNeedKvs::Optional,
111111
Some(dir_string.clone()),
@@ -120,13 +120,13 @@ fn cit_persistency_multiple_instances_same_id_common_value() -> Result<(), Error
120120
{
121121
// Second KVS run.
122122
let kvs1 = Kvs::open(
123-
instance_id.clone(),
123+
instance_id,
124124
OpenNeedDefaults::Optional,
125125
OpenNeedKvs::Optional,
126126
Some(dir_string.clone()),
127127
)?;
128128
let kvs2 = Kvs::open(
129-
instance_id.clone(),
129+
instance_id,
130130
OpenNeedDefaults::Optional,
131131
OpenNeedKvs::Optional,
132132
Some(dir_string.clone()),
@@ -165,14 +165,14 @@ fn cit_persistency_multiple_instances_same_id_interfere() -> Result<(), ErrorCod
165165
{
166166
// Create first KVS instance.
167167
let kvs1 = Kvs::open(
168-
instance_id.clone(),
168+
instance_id,
169169
OpenNeedDefaults::Optional,
170170
OpenNeedKvs::Optional,
171171
Some(dir_string.clone()),
172172
)?;
173173
// Create second KVS instance.
174174
let kvs2 = Kvs::open(
175-
instance_id.clone(),
175+
instance_id,
176176
OpenNeedDefaults::Optional,
177177
OpenNeedKvs::Optional,
178178
Some(dir_string.clone()),
@@ -187,13 +187,13 @@ fn cit_persistency_multiple_instances_same_id_interfere() -> Result<(), ErrorCod
187187
{
188188
// Second KVS run.
189189
let kvs1 = Kvs::open(
190-
instance_id.clone(),
190+
instance_id,
191191
OpenNeedDefaults::Optional,
192192
OpenNeedKvs::Optional,
193193
Some(dir_string.clone()),
194194
)?;
195195
let kvs2 = Kvs::open(
196-
instance_id.clone(),
196+
instance_id,
197197
OpenNeedDefaults::Optional,
198198
OpenNeedKvs::Optional,
199199
Some(dir_string.clone()),

src/rust/rust_kvs/tests/cit_snapshots.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ fn cit_snapshots_snapshot_restore_previous_snapshot() -> Result<(), ErrorCode> {
112112
// Arrange.
113113
let instance_id = InstanceId(0);
114114
let num_snapshots = 4;
115-
let kvs = init_kvs(instance_id.clone(), dir_string, num_snapshots)?;
115+
let kvs = init_kvs(instance_id, dir_string, num_snapshots)?;
116116

117117
// Assert.
118118
kvs.snapshot_restore(SnapshotId(3))?;
@@ -129,7 +129,7 @@ fn cit_snapshots_snapshot_restore_current_snapshot() -> Result<(), ErrorCode> {
129129
// Arrange.
130130
let instance_id = InstanceId(0);
131131
let num_snapshots = 2;
132-
let kvs = init_kvs(instance_id.clone(), dir_string.clone(), num_snapshots)?;
132+
let kvs = init_kvs(instance_id, dir_string.clone(), num_snapshots)?;
133133

134134
// Assert.
135135
let result = kvs.snapshot_restore(SnapshotId(0));
@@ -146,7 +146,7 @@ fn cit_snapshots_snapshot_restore_nonexisting_snapshot() -> Result<(), ErrorCode
146146
// Arrange.
147147
let instance_id = InstanceId(0);
148148
let num_snapshots = 2;
149-
let kvs = init_kvs(instance_id.clone(), dir_string.clone(), num_snapshots)?;
149+
let kvs = init_kvs(instance_id, dir_string.clone(), num_snapshots)?;
150150

151151
// Assert.
152152
let result = kvs.snapshot_restore(SnapshotId(3));
@@ -163,7 +163,7 @@ fn cit_snapshots_get_kvs_filename_existing_snapshot() -> Result<(), ErrorCode> {
163163
// Arrange.
164164
let instance_id = InstanceId(0);
165165
let num_snapshots = 2;
166-
let kvs = init_kvs(instance_id.clone(), dir_string.clone(), num_snapshots)?;
166+
let kvs = init_kvs(instance_id, dir_string.clone(), num_snapshots)?;
167167

168168
// Assert.
169169
let last_snapshot_index = num_snapshots - 1;
@@ -204,7 +204,7 @@ fn cit_snapshots_get_hash_filename_existing_snapshot() -> Result<(), ErrorCode>
204204
// Arrange.
205205
let instance_id = InstanceId(0);
206206
let num_snapshots = 2;
207-
let kvs = init_kvs(instance_id.clone(), dir_string.clone(), num_snapshots)?;
207+
let kvs = init_kvs(instance_id, dir_string.clone(), num_snapshots)?;
208208

209209
// Assert.
210210
let last_snapshot_index = num_snapshots - 1;

0 commit comments

Comments
 (0)