generic storage #159
Annotations
54 warnings
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/merkle_tree.rs#L165
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/merkle_tree.rs:165:36
|
165 | 0 => Branch::Right(self.nodes[index - 1].clone()),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.nodes[index - 1]`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/merkle_tree.rs#L164
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/merkle_tree.rs:164:35
|
164 | 1 => Branch::Left(self.nodes[index + 1].clone()),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.nodes[index + 1]`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/merkle_tree.rs#L123
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/merkle_tree.rs:123:9
|
123 | self.nodes[0].clone()
| ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.nodes[0]`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L1078
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:1078:41
|
1078 | return SparseTree::new_leaf(hash.clone());
| ^^^^^^^^^^^^ help: try dereferencing it: `*hash`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L1041
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:1041:9
|
1041 | self.storage[self.root_index].clone()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.storage[self.root_index]`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L1012
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:1012:9
|
1012 | self.storage.lock().expect("lock poisoned")[self.root_index].clone()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.storage.lock().expect("lock poisoned")[self.root_index]`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L1001
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:1001:45
|
1001 | storage[leaf_index_in_dense_tree] = value.clone();
| ^^^^^^^^^^^^^ help: try dereferencing it: `*value`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L980
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:980:13
|
980 | r.storage[leaf_index_in_dense_tree].clone()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `r.storage[leaf_index_in_dense_tree]`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L851
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:851:41
|
851 | return SparseTree::new_leaf(hash.clone());
| ^^^^^^^^^^^^ help: try dereferencing it: `*hash`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L814
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:814:9
|
814 | self.storage[self.root_index].clone()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.storage[self.root_index]`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L785
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:785:9
|
785 | self.storage.lock().unwrap()[self.root_index].clone()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.storage.lock().unwrap()[self.root_index]`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L774
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:774:45
|
774 | storage[leaf_index_in_dense_tree] = value.clone();
| ^^^^^^^^^^^^^ help: try dereferencing it: `*value`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L753
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:753:13
|
753 | r.storage[leaf_index_in_dense_tree].clone()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `r.storage[leaf_index_in_dense_tree]`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L700
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:700:34
|
700 | let empties = repeat(empty_value.clone()).take(leaf_count - values.len());
| ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*empty_value`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L696
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:696:30
|
696 | let empties = repeat(empty_value.clone()).take(leaf_count);
| ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*empty_value`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L660
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:660:16
|
660 | || self.root.clone(),
| ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.root`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L655
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:655:9
|
655 | self.root.clone()
| ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.root`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L629
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:629:35
|
629 | return Self::new_leaf(value.clone());
| ^^^^^^^^^^^^^ help: try dereferencing it: `*value`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L583
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:583:23
|
583 | root: self.root.clone(),
| ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.root`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L519
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:519:9
|
519 | self.empty_tree_values[0].clone()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.empty_tree_values[0]`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L515
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:515:9
|
515 | self.empty_tree_values[self.depth].clone()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.empty_tree_values[self.depth]`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L460
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:460:23
|
460 | let val = self.empty_tree_values[depth - 1].clone();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.empty_tree_values[depth - 1]`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L313
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:313:47
|
313 | EmptyTree::new(current_depth, empty_leaf.clone()).into(),
| ^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*empty_leaf`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L291
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:291:47
|
291 | EmptyTree::new(current_depth, empty_value.clone()).into(),
| ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*empty_value`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L268
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:268:47
|
268 | EmptyTree::new(current_depth, empty_value.clone()).into(),
| ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*empty_value`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L261
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:261:61
|
261 | let mut result: Self = EmptyTree::new(prefix_depth, empty_value.clone())
| ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*empty_value`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait:
src/lazy_merkle_tree.rs#L251
warning: using `clone` on type `<H as Hasher>::Hash` which implements the `Copy` trait
--> src/lazy_merkle_tree.rs:251:47
|
251 | EmptyTree::new(current_depth, empty_value.clone()).into(),
| ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*empty_value`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
note: the lint level is defined here
--> src/lib.rs:2:9
|
2 | #![warn(clippy::all, clippy::cargo)]
| ^^^^^^^^^^^
= note: `#[warn(clippy::clone_on_copy)]` implied by `#[warn(clippy::all)]`
|
function `as_bytes` is never used:
src/util.rs#L24
warning: function `as_bytes` is never used
--> src/util.rs:24:22
|
24 | pub(crate) unsafe fn as_bytes<T: ?Sized>(p: &T) -> &[u8] {
| ^^^^^^^^
|
function `children` is never used:
src/dynamic_merkle_tree.rs#L511
warning: function `children` is never used
--> src/dynamic_merkle_tree.rs:511:4
|
511 | fn children(i: usize) -> Option<(usize, usize)> {
| ^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
|
unused import: `util::as_bytes`:
src/lazy_merkle_tree.rs#L3
warning: unused import: `util::as_bytes`
--> src/lazy_merkle_tree.rs:3:5
|
3 | util::as_bytes,
| ^^^^^^^^^^^^^^
|
unused imports: `MmapMut`, `MmapOptions`:
src/dynamic_merkle_tree.rs#L15
warning: unused imports: `MmapMut`, `MmapOptions`
--> src/dynamic_merkle_tree.rs:15:15
|
15 | use mmap_rs::{MmapMut, MmapOptions};
| ^^^^^^^ ^^^^^^^^^^^
|
unused import: `thiserror::Error`:
src/dynamic_merkle_tree.rs#L13
warning: unused import: `thiserror::Error`
--> src/dynamic_merkle_tree.rs:13:5
|
13 | use thiserror::Error;
| ^^^^^^^^^^^^^^^^
|
unused imports: `fs::OpenOptions`, `io::Write`, `path::PathBuf`:
src/dynamic_merkle_tree.rs#L7
warning: unused imports: `fs::OpenOptions`, `io::Write`, `path::PathBuf`
--> src/dynamic_merkle_tree.rs:7:5
|
7 | fs::OpenOptions,
| ^^^^^^^^^^^^^^^
8 | io::Write,
| ^^^^^^^^^
...
11 | path::PathBuf,
| ^^^^^^^^^^^^^
|
unused import: `util::as_bytes`:
src/dynamic_merkle_tree.rs#L3
warning: unused import: `util::as_bytes`
--> src/dynamic_merkle_tree.rs:3:5
|
3 | util::as_bytes,
| ^^^^^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` on by default
|
Lint
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions-rs/toolchain@v1, actions-rs/cargo@v1, actions-rs/clippy-check@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
|
Lint
The following actions uses node12 which is deprecated and will be forced to run on node16: actions-rs/toolchain@v1, actions-rs/cargo@v1, actions-rs/clippy-check@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
Lint
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
Lint
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
Lint
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
Lint
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
Test
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions-rs/toolchain@v1, actions-rs/cargo@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
|
Test
The following actions uses node12 which is deprecated and will be forced to run on node16: actions-rs/toolchain@v1, actions-rs/cargo@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
Test
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
Test:
src/dynamic_merkle_tree.rs#L3
unused import: `util::as_bytes`
|
Test:
src/dynamic_merkle_tree.rs#L7
unused imports: `fs::OpenOptions`, `io::Write`, `path::PathBuf`
|
Test:
src/dynamic_merkle_tree.rs#L13
unused import: `thiserror::Error`
|
Test:
src/dynamic_merkle_tree.rs#L15
unused imports: `MmapMut`, `MmapOptions`
|
Test:
src/lazy_merkle_tree.rs#L3
unused import: `util::as_bytes`
|
Test:
src/dynamic_merkle_tree.rs#L511
function `children` is never used
|
Test:
src/util.rs#L24
function `as_bytes` is never used
|
Test
`semaphore` (lib) generated 7 warnings (run `cargo fix --lib -p semaphore` to apply 5 suggestions)
|