mt for mmap tree #143
Annotations
28 warnings
temporary with significant `Drop` can be early dropped:
src/lazy_merkle_tree.rs#L1000
warning: temporary with significant `Drop` can be early dropped
--> src/lazy_merkle_tree.rs:1000:17
|
999 | fn update_with_mutation(&self, index: usize, value: &H::Hash) {
| ___________________________________________________________________-
1000 | | let mut storage = self.storage.lock().expect("lock poisoned, terminating");
| | ^^^^^^^
1001 | | let leaf_index_in_dense_tree = index + (self.root_index << self.depth);
1002 | | storage[leaf_index_in_dense_tree] = value.clone();
... |
1009 | | }
1010 | | }
| |_____- temporary `storage` is currently being dropped at the end of its contained scope
|
= note: this might lead to unnecessary resource contention
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#significant_drop_tightening
help: drop the temporary after the end of its last usage
|
1007 ~ storage[current] = H::hash_node(left, right);
1008 + drop(storage);
|
|
temporary with significant `Drop` can be early dropped:
src/lazy_merkle_tree.rs#L964
warning: temporary with significant `Drop` can be early dropped
--> src/lazy_merkle_tree.rs:964:13
|
963 | / {
964 | | let guard = self.storage.lock().expect("lock poisoned, terminating");
| | ^^^^^
965 | | let r = DenseTreeMMapRef {
966 | | depth: self.depth,
... |
971 | | fun(r)
972 | | }
| |_____- temporary `guard` is currently being dropped at the end of its contained scope
|
= note: this might lead to unnecessary resource contention
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#significant_drop_tightening
help: merge the temporary construction with its single usage
|
964 ~
965 + let r = self.storage.lock().expect("lock poisoned, terminating").;
|
help: remove separated single usage
|
965 - let r = DenseTreeMMapRef {
966 - depth: self.depth,
967 - root_index: self.root_index,
968 - storage: &guard,
969 - locked_storage: &self.storage,
970 - };
965 +
|
|
temporary with significant `Drop` can be early dropped:
src/lazy_merkle_tree.rs#L773
warning: temporary with significant `Drop` can be early dropped
--> src/lazy_merkle_tree.rs:773:17
|
772 | fn update_with_mutation(&self, index: usize, value: &H::Hash) {
| ___________________________________________________________________-
773 | | let mut storage = self.storage.lock().expect("lock poisoned, terminating");
| | ^^^^^^^
774 | | let leaf_index_in_dense_tree = index + (self.root_index << self.depth);
775 | | storage[leaf_index_in_dense_tree] = value.clone();
... |
782 | | }
783 | | }
| |_____- temporary `storage` is currently being dropped at the end of its contained scope
|
= note: this might lead to unnecessary resource contention
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#significant_drop_tightening
help: drop the temporary after the end of its last usage
|
780 ~ storage[current] = H::hash_node(left, right);
781 + drop(storage);
|
|
temporary with significant `Drop` can be early dropped:
src/lazy_merkle_tree.rs#L737
warning: temporary with significant `Drop` can be early dropped
--> src/lazy_merkle_tree.rs:737:13
|
736 | / {
737 | | let guard = self.storage.lock().expect("lock poisoned, terminating");
| | ^^^^^
738 | | let r = DenseTreeRef {
739 | | depth: self.depth,
... |
744 | | fun(r)
745 | | }
| |_____- temporary `guard` is currently being dropped at the end of its contained scope
|
= note: this might lead to unnecessary resource contention
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#significant_drop_tightening
= note: `#[warn(clippy::significant_drop_tightening)]` implied by `#[warn(clippy::nursery)]`
help: merge the temporary construction with its single usage
|
737 ~
738 + let r = self.storage.lock().expect("lock poisoned, terminating").;
|
help: remove separated single usage
|
738 - let r = DenseTreeRef {
739 - depth: self.depth,
740 - root_index: self.root_index,
741 - storage: &guard,
742 - locked_storage: &self.storage,
743 - };
738 +
|
|
redundant clone:
src/lazy_merkle_tree.rs#L567
warning: redundant clone
--> src/lazy_merkle_tree.rs:567:39
|
567 | let right = children.right.clone();
| ^^^^^^^^ help: remove this
|
note: cloned value is neither consumed nor mutated
--> src/lazy_merkle_tree.rs:567:25
|
567 | let right = children.right.clone();
| ^^^^^^^^^^^^^^^^^^^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_clone
|
redundant clone:
src/lazy_merkle_tree.rs#L566
warning: redundant clone
--> src/lazy_merkle_tree.rs:566:37
|
566 | let left = children.left.clone();
| ^^^^^^^^ help: remove this
|
note: cloned value is neither consumed nor mutated
--> src/lazy_merkle_tree.rs:566:24
|
566 | let left = children.left.clone();
| ^^^^^^^^^^^^^^^^^^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_clone
note: the lint level is defined here
--> src/lib.rs:2:55
|
2 | #![warn(clippy::all, clippy::pedantic, clippy::cargo, clippy::nursery)]
| ^^^^^^^^^^^^^^^
= note: `#[warn(clippy::redundant_clone)]` implied by `#[warn(clippy::nursery)]`
|
docs for function returning `Result` missing `# Errors` section:
src/lazy_merkle_tree.rs#L90
warning: docs for function returning `Result` missing `# Errors` section
--> src/lazy_merkle_tree.rs:90:5
|
90 | / pub fn new_mmapped_with_dense_prefix_with_init_values(
91 | | depth: usize,
92 | | prefix_depth: usize,
93 | | empty_value: &H::Hash,
94 | | initial_values: &[H::Hash],
95 | | file_path: &str,
96 | | ) -> Result<LazyMerkleTree<H, Canonical>, DenseMMapError> {
| |_____________________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_errors_doc
|
this function has an empty `#[must_use]` attribute, but returns a type already marked as `#[must_use]`:
src/lazy_merkle_tree.rs#L90
warning: this function has an empty `#[must_use]` attribute, but returns a type already marked as `#[must_use]`
--> src/lazy_merkle_tree.rs:90:5
|
90 | / pub fn new_mmapped_with_dense_prefix_with_init_values(
91 | | depth: usize,
92 | | prefix_depth: usize,
93 | | empty_value: &H::Hash,
94 | | initial_values: &[H::Hash],
95 | | file_path: &str,
96 | | ) -> Result<LazyMerkleTree<H, Canonical>, DenseMMapError> {
| |_____________________________________________________________^
|
= help: either add some descriptive text or remove the attribute
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_must_use
= note: `#[warn(clippy::double_must_use)]` implied by `#[warn(clippy::all)]`
|
docs for function returning `Result` missing `# Errors` section:
src/protocol/mod.rs#L165
warning: docs for function returning `Result` missing `# Errors` section
--> src/protocol/mod.rs:165:1
|
165 | / pub fn generate_witness(
166 | | identity: &Identity,
167 | | merkle_proof: &merkle_tree::Proof<PoseidonHash>,
168 | | external_nullifier_hash: Field,
169 | | signal_hash: Field,
170 | | ) -> Result<Vec<Fp256<FrParameters>>, ProofError> {
| |_________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_errors_doc
|
docs for function which may panic missing `# Panics` section:
src/protocol/mod.rs#L165
warning: docs for function which may panic missing `# Panics` section
--> src/protocol/mod.rs:165:1
|
165 | / pub fn generate_witness(
166 | | identity: &Identity,
167 | | merkle_proof: &merkle_tree::Proof<PoseidonHash>,
168 | | external_nullifier_hash: Field,
169 | | signal_hash: Field,
170 | | ) -> Result<Vec<Fp256<FrParameters>>, ProofError> {
| |_________________________________________________^
|
note: first possible panic found here
--> src/protocol/mod.rs:187:5
|
187 | / witness_calculator(depth)
188 | | .lock()
189 | | .expect("witness_calculator mutex should not get poisoned")
| |___________________________________________________________________^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc
= note: `#[warn(clippy::missing_panics_doc)]` implied by `#[warn(clippy::pedantic)]`
|
unneeded `return` statement:
src/protocol/authentication.rs#L31
warning: unneeded `return` statement
--> src/protocol/authentication.rs:31:5
|
31 | / return super::verify_proof(
32 | | root,
33 | | nullifier_hash,
34 | | signal_hash,
... |
37 | | depth,
38 | | );
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
help: remove `return`
|
31 ~ super::verify_proof(
32 + root,
33 + nullifier_hash,
34 + signal_hash,
35 + ext_nullifier_hash,
36 + proof,
37 + depth,
38 ~ )
|
|
docs for function returning `Result` missing `# Errors` section:
src/protocol/authentication.rs#L20
warning: docs for function returning `Result` missing `# Errors` section
--> src/protocol/authentication.rs:20:1
|
20 | / pub fn verify_proof(
21 | | depth: usize,
22 | | id_commitment: Field,
23 | | nullifier_hash: Field,
... |
26 | | proof: &Proof,
27 | | ) -> Result<bool, ProofError> {
| |_____________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_errors_doc
|
unneeded `return` statement:
src/protocol/authentication.rs#L17
warning: unneeded `return` statement
--> src/protocol/authentication.rs:17:5
|
17 | return super::generate_proof(identity, &merkle_proof, ext_nullifier_hash, signal_hash);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
note: the lint level is defined here
--> src/lib.rs:2:9
|
2 | #![warn(clippy::all, clippy::pedantic, clippy::cargo, clippy::nursery)]
| ^^^^^^^^^^^
= note: `#[warn(clippy::needless_return)]` implied by `#[warn(clippy::all)]`
help: remove `return`
|
17 - return super::generate_proof(identity, &merkle_proof, ext_nullifier_hash, signal_hash);
17 + super::generate_proof(identity, &merkle_proof, ext_nullifier_hash, signal_hash)
|
|
docs for function returning `Result` missing `# Errors` section:
src/protocol/authentication.rs#L8
warning: docs for function returning `Result` missing `# Errors` section
--> src/protocol/authentication.rs:8:1
|
8 | / pub fn generate_proof(
9 | | depth: usize,
10 | | identity: &Identity,
11 | | ext_nullifier_hash: Field,
12 | | signal_hash: Field,
13 | | ) -> Result<Proof, ProofError> {
| |______________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_errors_doc
note: the lint level is defined here
--> src/lib.rs:2:22
|
2 | #![warn(clippy::all, clippy::pedantic, clippy::cargo, clippy::nursery)]
| ^^^^^^^^^^^^^^^^
= note: `#[warn(clippy::missing_errors_doc)]` implied by `#[warn(clippy::pedantic)]`
|
unit tests in doctest are not executed:
crates/semaphore-depth-macros/src/lib.rs#L35
warning: unit tests in doctest are not executed
--> crates/semaphore-depth-macros/src/lib.rs:35:5
|
35 | /// #[test]
| _____^
36 | | /// fn test_depth_non_zero_depth_30() {
| |___________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#test_attr_in_doctest
|
unit tests in doctest are not executed:
crates/semaphore-depth-macros/src/lib.rs#L30
warning: unit tests in doctest are not executed
--> crates/semaphore-depth-macros/src/lib.rs:30:5
|
30 | /// #[test]
| _____^
31 | | /// fn test_depth_non_zero_depth_16() {
| |___________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#test_attr_in_doctest
= note: `#[warn(clippy::test_attr_in_doctest)]` 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/
|