Skip to content

Merge pull request #22 from longerd/dev #78

Merge pull request #22 from longerd/dev

Merge pull request #22 from longerd/dev #78

Triggered via push November 19, 2024 16:35
Status Success
Total duration 4m 26s
Artifacts

ci.yml

on: push
Fit to window
Zoom out
Zoom in

Annotations

75 warnings
Dependency Security Audit
The following actions uses node12 which is deprecated and will be forced to run on node16: actions-rs/toolchain@v1, actions-rs/audit-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/
Dependency Security Audit
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions-rs/toolchain@v1, actions-rs/audit-check@v1. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Dependency Security Audit
5 warnings found!
Dependency Security Audit
Unknown warning kind unsound found, please, file a bug
Dependency Security Audit
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/
Dependency Security Audit
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/
Dependency Security Audit
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/
Dependency Security Audit
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/
use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified: src/stark.rs#L57
warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified --> src/stark.rs:57:5 | 57 | async fn prove( | ^^^^^ | = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` = note: `#[warn(async_fn_in_trait)]` on by default help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change | 57 ~ fn prove( 58 | &self, 59 | options: ProofOptions, 60 | witness: Self::Witness, 61 ~ ) -> impl std::future::Future<Output = Result<Proof<Self>, ProvingError>> + Send {async { 62 | default_prove(self, options, witness) 63 ~ } } |
using `map` over `inspect`: src/verifier.rs#L60
warning: using `map` over `inspect` --> src/verifier.rs:60:65 | 60 | let extension_trace_commitment = extension_trace_commitment.map(|commitment| { | ^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_inspect = note: `#[warn(clippy::manual_inspect)]` implied by `#[warn(clippy::all)]` help: try | 60 ~ let extension_trace_commitment = extension_trace_commitment.inspect(|commitment| { 61 ~ public_coin.reseed_with_digest(commitment); |
first doc comment paragraph is too long: src/utils.rs#L633
warning: first doc comment paragraph is too long --> src/utils.rs:633:5 | 633 | / /// Generates a single column matrix consisting of two values i.e. 634 | | /// β”Œβ”€β”€β”€β”€β”€β”€β”€β” 635 | | /// β”‚ Col 0 β”‚ 636 | | /// β”œβ”€β”€β”€β”€β”€β”€β”€β”€ ... | 647 | | /// β”‚ ... β”‚ 648 | | /// β””β”€β”€β”€β”€β”€β”€β”€β”˜ | |____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_long_first_doc_paragraph help: add an empty line | 633 ~ /// Generates a single column matrix consisting of two values i.e. 634 + /// 635 ~ /// β”Œβ”€β”€β”€β”€β”€β”€β”€β” |
first doc comment paragraph is too long: src/utils.rs#L605
warning: first doc comment paragraph is too long --> src/utils.rs:605:5 | 605 | / /// Generates a matrix of fibbonacci sequence across two columns i.e. 606 | | /// β”Œβ”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β” 607 | | /// β”‚ Col 0 | Col 1 β”‚ 608 | | /// β”œβ”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€ ... | 615 | | /// β”‚ ... β”‚ ... β”‚ ... 616 | | /// β””β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”˜ | |____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_long_first_doc_paragraph = note: `#[warn(clippy::too_long_first_doc_paragraph)]` implied by `#[warn(clippy::nursery)]` help: add an empty line | 605 ~ /// Generates a matrix of fibbonacci sequence across two columns i.e. 606 + /// 607 ~ /// β”Œβ”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β” |
item in documentation is missing backticks: src/prover.rs#L183
warning: item in documentation is missing backticks --> src/prover.rs:183:28 | 183 | /// Bit reverses the first ce_domain_size many values of the matrix columns. | ^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown note: the lint level is defined here --> src/lib.rs:1:22 | 1 | #![warn(clippy::all, clippy::pedantic, clippy::cargo, clippy::nursery)] | ^^^^^^^^^^^^^^^^ = note: `#[warn(clippy::doc_markdown)]` implied by `#[warn(clippy::pedantic)]` help: try | 183 | /// Bit reverses the first `ce_domain_size` many values of the matrix columns. | ~~~~~~~~~~~~~~~~
this could be a `const fn`: src/matrix.rs#L29
warning: this could be a `const fn` --> src/matrix.rs:29:5 | 29 | / pub fn new(cols: Vec<GpuVec<F>>) -> Self { 30 | | Self(cols) 31 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_fn help: make the function `const` | 29 | pub const fn new(cols: Vec<GpuVec<F>>) -> Self { | +++++
this could be a `const fn`: src/fri.rs#L85
warning: this could be a `const fn` --> src/fri.rs:85:5 | 85 | / pub fn new(layers: Vec<LayerProof<F, D, M>>, remainder_coeffs: Vec<F>) -> Self { 86 | | Self { 87 | | layers, 88 | | remainder_coeffs, 89 | | } 90 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_fn help: make the function `const` | 85 | pub const fn new(layers: Vec<LayerProof<F, D, M>>, remainder_coeffs: Vec<F>) -> Self { | +++++
temporary with significant `Drop` in `if let` scrutinee will live until the end of the `if let` expression: /rustc/03ee4845197ce71aa5ee28cb937a3e863b18b42f/library/core/src/ptr/mod.rs#L2313
warning: temporary with significant `Drop` in `if let` scrutinee will live until the end of the `if let` expression --> src/expression.rs:127:37 | 127 | if let Some(node) = sn.get(&addr_of!(*this.read().unwrap())) { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... 131 | let res = Arc::new(RwLock::new(match &*this.read().unwrap() { | -------------------- another value with significant `Drop` created here ... 139 | sn.insert(addr_of!(*this.read().unwrap()), Arc::clone(&res)); | -------------------- another value with significant `Drop` created here ... 157 | sn.insert(addr_of!(*this.read().unwrap()), Arc::clone(&res)); | -------------------- another value with significant `Drop` created here 158 | res 159 | } | - temporary lives until here | = note: this might lead to deadlocks or other unexpected behavior = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#significant_drop_in_scrutinee = note: `#[warn(clippy::significant_drop_in_scrutinee)]` implied by `#[warn(clippy::nursery)]` = note: this warning originates in the macro `addr_of` (in Nightly builds, run with -Z macro-backtrace for more info)
the following explicit lifetimes could be elided: 'a: src/eval_cpu.rs#L474
warning: the following explicit lifetimes could be elided: 'a --> src/eval_cpu.rs:474:6 | 474 | impl<'a, Fp: Field, Fq: Field, const N: usize> Neg for EvalItem<'a, Fp, Fq, N> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 474 - impl<'a, Fp: Field, Fq: Field, const N: usize> Neg for EvalItem<'a, Fp, Fq, N> { 474 + impl<Fp: Field, Fq: Field, const N: usize> Neg for EvalItem<'_, Fp, Fq, N> { |
the following explicit lifetimes could be elided: 'a: src/eval_cpu.rs#L447
warning: the following explicit lifetimes could be elided: 'a --> src/eval_cpu.rs:447:6 | 447 | impl<'a, Fp: Field, Fq: Field, const N: usize> Pow<usize> for EvalItem<'a, Fp, Fq, N> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 447 - impl<'a, Fp: Field, Fq: Field, const N: usize> Pow<usize> for EvalItem<'a, Fp, Fq, N> { 447 + impl<Fp: Field, Fq: Field, const N: usize> Pow<usize> for EvalItem<'_, Fp, Fq, N> { |
the following explicit lifetimes could be elided: 'a: src/eval_cpu.rs#L431
warning: the following explicit lifetimes could be elided: 'a --> src/eval_cpu.rs:431:9 | 431 | 'a, | ^^ ... 435 | > Div for EvalItem<'a, Fp, Fq, N> | ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 431 ~ Fp: Field, 432 | Fq: Field + From<Fp> + Mul<Fp, Output = Fq> + MulAssign<Fp>, 433 | const N: usize, 434 ~ > Div for EvalItem<'_, Fp, Fq, N> |
the following explicit lifetimes could be elided: 'a: src/eval_cpu.rs#L358
warning: the following explicit lifetimes could be elided: 'a --> src/eval_cpu.rs:358:9 | 358 | 'a, | ^^ ... 362 | > Mul for EvalItem<'a, Fp, Fq, N> | ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 358 ~ Fp: Field, 359 | Fq: Field + From<Fp> + Mul<Fp, Output = Fq> + MulAssign<Fp>, 360 | const N: usize, 361 ~ > Mul for EvalItem<'_, Fp, Fq, N> |
the following explicit lifetimes could be elided: 'a: src/eval_cpu.rs#L298
warning: the following explicit lifetimes could be elided: 'a --> src/eval_cpu.rs:298:9 | 298 | 'a, | ^^ ... 302 | > Add for EvalItem<'a, Fp, Fq, N> | ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 298 ~ Fp: Field, 299 | Fq: Field + From<Fp> + Add<Fp, Output = Fq> + AddAssign<Fp>, 300 | const N: usize, 301 ~ > Add for EvalItem<'_, Fp, Fq, N> |
the following explicit lifetimes could be elided: 'a: src/eval_cpu.rs#L265
warning: the following explicit lifetimes could be elided: 'a --> src/eval_cpu.rs:265:6 | 265 | impl<'a, Fp: Field, Fq: Field + From<Fp>, const N: usize> EvalItem<'a, Fp, Fq, N> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 265 - impl<'a, Fp: Field, Fq: Field + From<Fp>, const N: usize> EvalItem<'a, Fp, Fq, N> { 265 + impl<Fp: Field, Fq: Field + From<Fp>, const N: usize> EvalItem<'_, Fp, Fq, N> { |
the following explicit lifetimes could be elided: 'a: src/channel.rs#L124
warning: the following explicit lifetimes could be elided: 'a --> src/channel.rs:124:6 | 124 | impl<'a, S: Stark> fri::ProverChannel for ProverChannel<'a, S> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes note: the lint level is defined here --> src/lib.rs:1:9 | 1 | #![warn(clippy::all, clippy::pedantic, clippy::cargo, clippy::nursery)] | ^^^^^^^^^^^ = note: `#[warn(clippy::needless_lifetimes)]` implied by `#[warn(clippy::all)]` help: elide the lifetimes | 124 - impl<'a, S: Stark> fri::ProverChannel for ProverChannel<'a, S> { 124 + impl<S: Stark> fri::ProverChannel for ProverChannel<'_, S> { |
this could be a `const fn`: src/challenges.rs#L13
warning: this could be a `const fn` --> src/challenges.rs:13:5 | 13 | / pub fn new(challenges: Vec<F>) -> Self { 14 | | Self(challenges) 15 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_fn note: the lint level is defined here --> src/lib.rs:1:55 | 1 | #![warn(clippy::all, clippy::pedantic, clippy::cargo, clippy::nursery)] | ^^^^^^^^^^^^^^^ = note: `#[warn(clippy::missing_const_for_fn)]` implied by `#[warn(clippy::nursery)]` help: make the function `const` | 13 | pub const fn new(challenges: Vec<F>) -> Self { | +++++
writing `&Vec` instead of `&[_]` involves a new object where a slice will do: examples/rescue/rescue.rs#L293
warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do --> examples/rescue/rescue.rs:293:50 | 293 | fn matrix_mul<F: PrimeField>(a: &Vec<Vec<F>>, b: &Vec<Vec<F>>) -> Vec<Vec<F>> { | ^^^^^^^^^^^^ help: change this to: `&[Vec<F>]` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg
writing `&Vec` instead of `&[_]` involves a new object where a slice will do: examples/rescue/rescue.rs#L293
warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do --> examples/rescue/rescue.rs:293:33 | 293 | fn matrix_mul<F: PrimeField>(a: &Vec<Vec<F>>, b: &Vec<Vec<F>>) -> Vec<Vec<F>> { | ^^^^^^^^^^^^ help: change this to: `&[Vec<F>]` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg
writing `&Vec` instead of `&[_]` involves a new object where a slice will do: examples/rescue/rescue.rs#L272
warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do --> examples/rescue/rescue.rs:272:44 | 272 | fn transpose<T: Clone + Copy + Default>(m: &Vec<Vec<T>>) -> Vec<Vec<T>> { | ^^^^^^^^^^^^ help: change this to: `&[Vec<T>]` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg
writing `&Vec` instead of `&[_]` involves a new object where a slice will do: examples/rescue/rescue.rs#L219
warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do --> examples/rescue/rescue.rs:219:30 | 219 | fn echelon_form<T: Field>(m: &Vec<Vec<T>>) -> Vec<Vec<T>> { | ^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg = note: `#[warn(clippy::ptr_arg)]` on by default help: change this to | 219 ~ fn echelon_form<T: Field>(m: &[Vec<T>]) -> Vec<Vec<T>> { 220 | if m.is_empty() || m[0].is_empty() { ... 227 | let mut lead = 0; 228 ~ let mut m = m.to_owned(); |
bound is defined in more than one place: tests/constraint.rs#L332
warning: bound is defined in more than one place --> tests/constraint.rs:332:40 | 332 | fn assert_valid_over_transition_domain<F: GpuField + Field>( | ^ ... 336 | F: From<F::FftField>, | ^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations = note: `#[warn(clippy::multiple_bound_locations)]` on by default
unreachable pattern: src/eval_cpu.rs#L70
warning: unreachable pattern --> src/eval_cpu.rs:70:9 | 70 | _ => unreachable!(), | ^ no value can reach this | note: multiple earlier patterns match some of the same values --> src/eval_cpu.rs:70:9 | 47 | 1..512 => eval_impl::<Fp, Fq, 1>( | ------ matches some of the same values ... 58 | 512.. => eval_impl::<Fp, Fq, 512>( | ----- matches some of the same values ... 69 | 0 => {} | - matches some of the same values 70 | _ => unreachable!(), | ^ collectively making this unreachable = note: `#[warn(unreachable_patterns)]` on by default
use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified: src/stark.rs#L57
warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified --> src/stark.rs:57:5 | 57 | async fn prove( | ^^^^^ | = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` = note: `#[warn(async_fn_in_trait)]` on by default help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change | 57 ~ fn prove( 58 | &self, 59 | options: ProofOptions, 60 | witness: Self::Witness, 61 ~ ) -> impl std::future::Future<Output = Result<Proof<Self>, ProvingError>> + Send {async { 62 | default_prove(self, options, witness) 63 ~ } } |
using `map` over `inspect`: src/verifier.rs#L60
warning: using `map` over `inspect` --> src/verifier.rs:60:65 | 60 | let extension_trace_commitment = extension_trace_commitment.map(|commitment| { | ^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_inspect = note: `#[warn(clippy::manual_inspect)]` implied by `#[warn(clippy::all)]` help: try | 60 ~ let extension_trace_commitment = extension_trace_commitment.inspect(|commitment| { 61 ~ public_coin.reseed_with_digest(commitment); |
first doc comment paragraph is too long: src/utils.rs#L633
warning: first doc comment paragraph is too long --> src/utils.rs:633:5 | 633 | / /// Generates a single column matrix consisting of two values i.e. 634 | | /// β”Œβ”€β”€β”€β”€β”€β”€β”€β” 635 | | /// β”‚ Col 0 β”‚ 636 | | /// β”œβ”€β”€β”€β”€β”€β”€β”€β”€ ... | 647 | | /// β”‚ ... β”‚ 648 | | /// β””β”€β”€β”€β”€β”€β”€β”€β”˜ | |____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_long_first_doc_paragraph help: add an empty line | 633 ~ /// Generates a single column matrix consisting of two values i.e. 634 + /// 635 ~ /// β”Œβ”€β”€β”€β”€β”€β”€β”€β” |
first doc comment paragraph is too long: src/utils.rs#L605
warning: first doc comment paragraph is too long --> src/utils.rs:605:5 | 605 | / /// Generates a matrix of fibbonacci sequence across two columns i.e. 606 | | /// β”Œβ”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β” 607 | | /// β”‚ Col 0 | Col 1 β”‚ 608 | | /// β”œβ”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€ ... | 615 | | /// β”‚ ... β”‚ ... β”‚ ... 616 | | /// β””β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”˜ | |____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_long_first_doc_paragraph = note: `#[warn(clippy::too_long_first_doc_paragraph)]` implied by `#[warn(clippy::nursery)]` help: add an empty line | 605 ~ /// Generates a matrix of fibbonacci sequence across two columns i.e. 606 + /// 607 ~ /// β”Œβ”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β” |
item in documentation is missing backticks: src/prover.rs#L183
warning: item in documentation is missing backticks --> src/prover.rs:183:28 | 183 | /// Bit reverses the first ce_domain_size many values of the matrix columns. | ^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown note: the lint level is defined here --> src/lib.rs:1:22 | 1 | #![warn(clippy::all, clippy::pedantic, clippy::cargo, clippy::nursery)] | ^^^^^^^^^^^^^^^^ = note: `#[warn(clippy::doc_markdown)]` implied by `#[warn(clippy::pedantic)]` help: try | 183 | /// Bit reverses the first `ce_domain_size` many values of the matrix columns. | ~~~~~~~~~~~~~~~~
this could be a `const fn`: src/matrix.rs#L29
warning: this could be a `const fn` --> src/matrix.rs:29:5 | 29 | / pub fn new(cols: Vec<GpuVec<F>>) -> Self { 30 | | Self(cols) 31 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_fn help: make the function `const` | 29 | pub const fn new(cols: Vec<GpuVec<F>>) -> Self { | +++++
this could be a `const fn`: src/fri.rs#L85
warning: this could be a `const fn` --> src/fri.rs:85:5 | 85 | / pub fn new(layers: Vec<LayerProof<F, D, M>>, remainder_coeffs: Vec<F>) -> Self { 86 | | Self { 87 | | layers, 88 | | remainder_coeffs, 89 | | } 90 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_fn help: make the function `const` | 85 | pub const fn new(layers: Vec<LayerProof<F, D, M>>, remainder_coeffs: Vec<F>) -> Self { | +++++
temporary with significant `Drop` in `if let` scrutinee will live until the end of the `if let` expression: /rustc/03ee4845197ce71aa5ee28cb937a3e863b18b42f/library/core/src/ptr/mod.rs#L2313
warning: temporary with significant `Drop` in `if let` scrutinee will live until the end of the `if let` expression --> src/expression.rs:127:37 | 127 | if let Some(node) = sn.get(&addr_of!(*this.read().unwrap())) { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... 131 | let res = Arc::new(RwLock::new(match &*this.read().unwrap() { | -------------------- another value with significant `Drop` created here ... 139 | sn.insert(addr_of!(*this.read().unwrap()), Arc::clone(&res)); | -------------------- another value with significant `Drop` created here ... 157 | sn.insert(addr_of!(*this.read().unwrap()), Arc::clone(&res)); | -------------------- another value with significant `Drop` created here 158 | res 159 | } | - temporary lives until here | = note: this might lead to deadlocks or other unexpected behavior = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#significant_drop_in_scrutinee = note: `#[warn(clippy::significant_drop_in_scrutinee)]` implied by `#[warn(clippy::nursery)]` = note: this warning originates in the macro `addr_of` (in Nightly builds, run with -Z macro-backtrace for more info)
the following explicit lifetimes could be elided: 'a: src/eval_cpu.rs#L474
warning: the following explicit lifetimes could be elided: 'a --> src/eval_cpu.rs:474:6 | 474 | impl<'a, Fp: Field, Fq: Field, const N: usize> Neg for EvalItem<'a, Fp, Fq, N> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 474 - impl<'a, Fp: Field, Fq: Field, const N: usize> Neg for EvalItem<'a, Fp, Fq, N> { 474 + impl<Fp: Field, Fq: Field, const N: usize> Neg for EvalItem<'_, Fp, Fq, N> { |
the following explicit lifetimes could be elided: 'a: src/eval_cpu.rs#L447
warning: the following explicit lifetimes could be elided: 'a --> src/eval_cpu.rs:447:6 | 447 | impl<'a, Fp: Field, Fq: Field, const N: usize> Pow<usize> for EvalItem<'a, Fp, Fq, N> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 447 - impl<'a, Fp: Field, Fq: Field, const N: usize> Pow<usize> for EvalItem<'a, Fp, Fq, N> { 447 + impl<Fp: Field, Fq: Field, const N: usize> Pow<usize> for EvalItem<'_, Fp, Fq, N> { |
the following explicit lifetimes could be elided: 'a: src/eval_cpu.rs#L431
warning: the following explicit lifetimes could be elided: 'a --> src/eval_cpu.rs:431:9 | 431 | 'a, | ^^ ... 435 | > Div for EvalItem<'a, Fp, Fq, N> | ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 431 ~ Fp: Field, 432 | Fq: Field + From<Fp> + Mul<Fp, Output = Fq> + MulAssign<Fp>, 433 | const N: usize, 434 ~ > Div for EvalItem<'_, Fp, Fq, N> |
the following explicit lifetimes could be elided: 'a: src/eval_cpu.rs#L358
warning: the following explicit lifetimes could be elided: 'a --> src/eval_cpu.rs:358:9 | 358 | 'a, | ^^ ... 362 | > Mul for EvalItem<'a, Fp, Fq, N> | ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 358 ~ Fp: Field, 359 | Fq: Field + From<Fp> + Mul<Fp, Output = Fq> + MulAssign<Fp>, 360 | const N: usize, 361 ~ > Mul for EvalItem<'_, Fp, Fq, N> |
the following explicit lifetimes could be elided: 'a: src/eval_cpu.rs#L298
warning: the following explicit lifetimes could be elided: 'a --> src/eval_cpu.rs:298:9 | 298 | 'a, | ^^ ... 302 | > Add for EvalItem<'a, Fp, Fq, N> | ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 298 ~ Fp: Field, 299 | Fq: Field + From<Fp> + Add<Fp, Output = Fq> + AddAssign<Fp>, 300 | const N: usize, 301 ~ > Add for EvalItem<'_, Fp, Fq, N> |
the following explicit lifetimes could be elided: 'a: src/eval_cpu.rs#L265
warning: the following explicit lifetimes could be elided: 'a --> src/eval_cpu.rs:265:6 | 265 | impl<'a, Fp: Field, Fq: Field + From<Fp>, const N: usize> EvalItem<'a, Fp, Fq, N> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes help: elide the lifetimes | 265 - impl<'a, Fp: Field, Fq: Field + From<Fp>, const N: usize> EvalItem<'a, Fp, Fq, N> { 265 + impl<Fp: Field, Fq: Field + From<Fp>, const N: usize> EvalItem<'_, Fp, Fq, N> { |
non-local `impl` definition, `impl` blocks should be written at the same level as their item: gpu/src/fields.rs#L239
warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item --> gpu/src/fields.rs:239:18 | 239 | #[derive(MontConfig)] | ^--------- | | | `MontConfig` is not local | move the `impl` block outside of this function `fpmontconfig___` ... 242 | pub struct FpMontConfig; | ------------ `FpMontConfig` is not local | = note: the derive macro `MontConfig` defines the non-local `impl`, and may need to be changed = note: the derive macro `MontConfig` may come from an old version of the `ark_ff_macros` crate, try updating your dependency with `cargo update -p ark_ff_macros` = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` = note: `#[warn(non_local_definitions)]` on by default = note: this warning originates in the derive macro `MontConfig` (in Nightly builds, run with -Z macro-backtrace for more info)
the following explicit lifetimes could be elided: 'a: src/channel.rs#L124
warning: the following explicit lifetimes could be elided: 'a --> src/channel.rs:124:6 | 124 | impl<'a, S: Stark> fri::ProverChannel for ProverChannel<'a, S> { | ^^ ^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes note: the lint level is defined here --> src/lib.rs:1:9 | 1 | #![warn(clippy::all, clippy::pedantic, clippy::cargo, clippy::nursery)] | ^^^^^^^^^^^ = note: `#[warn(clippy::needless_lifetimes)]` implied by `#[warn(clippy::all)]` help: elide the lifetimes | 124 - impl<'a, S: Stark> fri::ProverChannel for ProverChannel<'a, S> { 124 + impl<S: Stark> fri::ProverChannel for ProverChannel<'_, S> { |
this could be a `const fn`: src/challenges.rs#L13
warning: this could be a `const fn` --> src/challenges.rs:13:5 | 13 | / pub fn new(challenges: Vec<F>) -> Self { 14 | | Self(challenges) 15 | | } | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_fn note: the lint level is defined here --> src/lib.rs:1:55 | 1 | #![warn(clippy::all, clippy::pedantic, clippy::cargo, clippy::nursery)] | ^^^^^^^^^^^^^^^ = note: `#[warn(clippy::missing_const_for_fn)]` implied by `#[warn(clippy::nursery)]` help: make the function `const` | 13 | pub const fn new(challenges: Vec<F>) -> Self { | +++++
the feature `slice_flatten` has been stable since 1.80.0 and no longer requires an attribute to enable: src/lib.rs#L21
warning: the feature `slice_flatten` has been stable since 1.80.0 and no longer requires an attribute to enable --> src/lib.rs:21:5 | 21 | slice_flatten, | ^^^^^^^^^^^^^
the feature `return_position_impl_trait_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable: src/lib.rs#L28
warning: the feature `return_position_impl_trait_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable --> src/lib.rs:28:5 | 28 | return_position_impl_trait_in_trait, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
the feature `exclusive_range_pattern` has been stable since 1.80.0 and no longer requires an attribute to enable: src/lib.rs#L26
warning: the feature `exclusive_range_pattern` has been stable since 1.80.0 and no longer requires an attribute to enable --> src/lib.rs:26:5 | 26 | exclusive_range_pattern, | ^^^^^^^^^^^^^^^^^^^^^^^
the feature `async_fn_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable: src/lib.rs#L23
warning: the feature `async_fn_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable --> src/lib.rs:23:5 | 23 | async_fn_in_trait, | ^^^^^^^^^^^^^^^^^ | = note: `#[warn(stable_features)]` on by default
unreachable pattern: src/eval_cpu.rs#L70
warning: unreachable pattern --> src/eval_cpu.rs:70:9 | 70 | _ => unreachable!(), | ^ no value can reach this | note: multiple earlier patterns match some of the same values --> src/eval_cpu.rs:70:9 | 47 | 1..512 => eval_impl::<Fp, Fq, 1>( | ------ matches some of the same values ... 58 | 512.. => eval_impl::<Fp, Fq, 512>( | ----- matches some of the same values ... 69 | 0 => {} | - matches some of the same values 70 | _ => unreachable!(), | ^ collectively making this unreachable = note: `#[warn(unreachable_patterns)]` on by default
the feature `slice_flatten` has been stable since 1.80.0 and no longer requires an attribute to enable: src/lib.rs#L21
warning: the feature `slice_flatten` has been stable since 1.80.0 and no longer requires an attribute to enable --> src/lib.rs:21:5 | 21 | slice_flatten, | ^^^^^^^^^^^^^
the feature `return_position_impl_trait_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable: src/lib.rs#L28
warning: the feature `return_position_impl_trait_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable --> src/lib.rs:28:5 | 28 | return_position_impl_trait_in_trait, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
the feature `exclusive_range_pattern` has been stable since 1.80.0 and no longer requires an attribute to enable: src/lib.rs#L26
warning: the feature `exclusive_range_pattern` has been stable since 1.80.0 and no longer requires an attribute to enable --> src/lib.rs:26:5 | 26 | exclusive_range_pattern, | ^^^^^^^^^^^^^^^^^^^^^^^
the feature `async_fn_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable: src/lib.rs#L23
warning: the feature `async_fn_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable --> src/lib.rs:23:5 | 23 | async_fn_in_trait, | ^^^^^^^^^^^^^^^^^ | = note: `#[warn(stable_features)]` on by default
non-local `impl` definition, `impl` blocks should be written at the same level as their item: gpu/src/fields.rs#L239
warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item --> gpu/src/fields.rs:239:18 | 239 | #[derive(MontConfig)] | ^--------- | | | `MontConfig` is not local | move the `impl` block outside of this function `fpmontconfig___` ... 242 | pub struct FpMontConfig; | ------------ `FpMontConfig` is not local | = note: the derive macro `MontConfig` defines the non-local `impl`, and may need to be changed = note: the derive macro `MontConfig` may come from an old version of the `ark_ff_macros` crate, try updating your dependency with `cargo update -p ark_ff_macros` = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` = note: `#[warn(non_local_definitions)]` on by default = note: this warning originates in the derive macro `MontConfig` (in Nightly builds, run with -Z macro-backtrace for more info)
Lint
The following actions uses node12 which is deprecated and will be forced to run on node16: actions-rs/toolchain@v1, Swatinem/rust-cache@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 following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions-rs/toolchain@v1, Swatinem/rust-cache@v1, actions-rs/cargo@v1, actions-rs/clippy-check@v1. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Lint
The `save-state` 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 `save-state` 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/
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
The following actions uses node12 which is deprecated and will be forced to run on node16: actions-rs/toolchain@v1, Swatinem/rust-cache@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 following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions-rs/toolchain@v1, Swatinem/rust-cache@v1. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-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
The `save-state` 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 `save-state` 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/