Pallet Pass #4
Triggered via pull request
September 26, 2024 17:22
Status
Failure
Total duration
1m 31s
Artifacts
–
Annotations
10 errors and 15 warnings
test
Process completed with exit code 101.
|
check
Process completed with exit code 101.
|
the parameter type `Cred` may not live long enough:
traits/authn/src/util.rs#L38
error[E0310]: the parameter type `Cred` may not live long enough
--> traits/authn/src/util.rs:38:44
|
38 | impl<T, A, Ch, Cred> UserAuthenticator for Dev<T, A, Ch, Cred>
| ^^^^^^^^^^^^^^^^^^^
| |
| the parameter type `Cred` must be valid for the static lifetime...
| ...so that the type `Cred` will meet its required lifetime bounds...
|
note: ...that is required by this bound
--> traits/authn/src/lib.rs:51:58
|
51 | pub trait UserAuthenticator: FullCodec + MaxEncodedLen + TypeInfo {
| ^^^^^^^^
help: consider adding an explicit lifetime bound
|
43 | Cred: UserChallengeResponse<Ch::Context> + 'static,
| +++++++++
|
the parameter type `Ch` may not live long enough:
traits/authn/src/util.rs#L38
error[E0310]: the parameter type `Ch` may not live long enough
--> traits/authn/src/util.rs:38:44
|
38 | impl<T, A, Ch, Cred> UserAuthenticator for Dev<T, A, Ch, Cred>
| ^^^^^^^^^^^^^^^^^^^
| |
| the parameter type `Ch` must be valid for the static lifetime...
| ...so that the type `Ch` will meet its required lifetime bounds...
|
note: ...that is required by this bound
--> traits/authn/src/lib.rs:51:58
|
51 | pub trait UserAuthenticator: FullCodec + MaxEncodedLen + TypeInfo {
| ^^^^^^^^
help: consider adding an explicit lifetime bound
|
42 | Ch: Challenger + 'static,
| +++++++++
|
the parameter type `A` may not live long enough:
traits/authn/src/util.rs#L38
error[E0310]: the parameter type `A` may not live long enough
--> traits/authn/src/util.rs:38:44
|
38 | impl<T, A, Ch, Cred> UserAuthenticator for Dev<T, A, Ch, Cred>
| ^^^^^^^^^^^^^^^^^^^
| |
| the parameter type `A` must be valid for the static lifetime...
| ...so that the type `A` will meet its required lifetime bounds...
|
note: ...that is required by this bound
--> traits/authn/src/lib.rs:51:58
|
51 | pub trait UserAuthenticator: FullCodec + MaxEncodedLen + TypeInfo {
| ^^^^^^^^
help: consider adding an explicit lifetime bound
|
41 | A: Get<AuthorityId> + 'static,
| +++++++++
|
the parameter type `Cred` may not live long enough:
traits/authn/src/util.rs#L38
error[E0310]: the parameter type `Cred` may not live long enough
--> traits/authn/src/util.rs:38:44
|
38 | impl<T, A, Ch, Cred> UserAuthenticator for Dev<T, A, Ch, Cred>
| ^^^^^^^^^^^^^^^^^^^
| |
| the parameter type `Cred` must be valid for the static lifetime...
| ...so that the type `std::marker::PhantomData<(A, Ch, Cred)>` will meet its required lifetime bounds...
|
note: ...that is required by this bound
--> traits/authn/src/lib.rs:51:58
|
51 | pub trait UserAuthenticator: FullCodec + MaxEncodedLen + TypeInfo {
| ^^^^^^^^
help: consider adding an explicit lifetime bound
|
43 | Cred: UserChallengeResponse<Ch::Context> + 'static,
| +++++++++
|
the parameter type `Ch` may not live long enough:
traits/authn/src/util.rs#L38
error[E0310]: the parameter type `Ch` may not live long enough
--> traits/authn/src/util.rs:38:44
|
38 | impl<T, A, Ch, Cred> UserAuthenticator for Dev<T, A, Ch, Cred>
| ^^^^^^^^^^^^^^^^^^^
| |
| the parameter type `Ch` must be valid for the static lifetime...
| ...so that the type `std::marker::PhantomData<(A, Ch, Cred)>` will meet its required lifetime bounds...
|
note: ...that is required by this bound
--> traits/authn/src/lib.rs:51:58
|
51 | pub trait UserAuthenticator: FullCodec + MaxEncodedLen + TypeInfo {
| ^^^^^^^^
help: consider adding an explicit lifetime bound
|
42 | Ch: Challenger + 'static,
| +++++++++
|
the parameter type `A` may not live long enough:
traits/authn/src/util.rs#L38
error[E0310]: the parameter type `A` may not live long enough
--> traits/authn/src/util.rs:38:44
|
38 | impl<T, A, Ch, Cred> UserAuthenticator for Dev<T, A, Ch, Cred>
| ^^^^^^^^^^^^^^^^^^^
| |
| the parameter type `A` must be valid for the static lifetime...
| ...so that the type `std::marker::PhantomData<(A, Ch, Cred)>` will meet its required lifetime bounds...
|
note: ...that is required by this bound
--> traits/authn/src/lib.rs:51:58
|
51 | pub trait UserAuthenticator: FullCodec + MaxEncodedLen + TypeInfo {
| ^^^^^^^^
help: consider adding an explicit lifetime bound
|
41 | A: Get<AuthorityId> + 'static,
| +++++++++
|
the parameter type `T` may not live long enough:
traits/authn/src/util.rs#L38
error[E0310]: the parameter type `T` may not live long enough
--> traits/authn/src/util.rs:38:44
|
38 | impl<T, A, Ch, Cred> UserAuthenticator for Dev<T, A, Ch, Cred>
| ^^^^^^^^^^^^^^^^^^^
| |
| the parameter type `T` must be valid for the static lifetime...
| ...so that the type `T` will meet its required lifetime bounds...
|
note: ...that is required by this bound
--> traits/authn/src/lib.rs:51:58
|
51 | pub trait UserAuthenticator: FullCodec + MaxEncodedLen + TypeInfo {
| ^^^^^^^^
help: consider adding an explicit lifetime bound
|
40 | T: AsRef<DeviceId> + FullCodec + MaxEncodedLen + TypeInfo + 'static,
| +++++++++
|
clippy
Clippy had exited with the 101 exit code
|
using `map_err` over `inspect_err`:
pallets/referenda-tracks/src/lib.rs#L93
warning: using `map_err` over `inspect_err`
--> pallets/referenda-tracks/src/lib.rs:93:15
|
93 | #[pallet::pallet]
| ^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_inspect
= note: `#[warn(clippy::manual_inspect)]` on by default
help: try
|
93 - #[pallet::pallet]
93 + #[pallet::&inspect_err]
|
|
using `map_err` over `inspect_err`:
pallets/gas-transaction-payment/src/lib.rs#L32
warning: using `map_err` over `inspect_err`
--> pallets/gas-transaction-payment/src/lib.rs:32:15
|
32 | #[pallet::pallet]
| ^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_inspect
= note: `#[warn(clippy::manual_inspect)]` on by default
help: try
|
32 - #[pallet::pallet]
32 + #[pallet::&inspect_err]
|
|
using `clone` on type `DispatchInfo` which implements the `Copy` trait:
pallets/gas-transaction-payment/src/extensions.rs#L120
warning: using `clone` on type `DispatchInfo` which implements the `Copy` trait
--> pallets/gas-transaction-payment/src/extensions.rs:120:22
|
120 | &info.clone().into(),
| ^^^^^^^^^^^^ help: try dereferencing it: `(*info)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
= note: `#[warn(clippy::clone_on_copy)]` on by default
|
useless conversion to the same type: `frame_support::dispatch::DispatchInfo`:
pallets/gas-transaction-payment/src/extensions.rs#L120
warning: useless conversion to the same type: `frame_support::dispatch::DispatchInfo`
--> pallets/gas-transaction-payment/src/extensions.rs:120:22
|
120 | &info.clone().into(),
| ^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `info.clone()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
= note: `#[warn(clippy::useless_conversion)]` on by default
|
`self.0.saturating_sub(n.get())` is never smaller than `Self::MIN.0` and has therefore no effect:
traits/memberships/src/lib.rs#L98
warning: `self.0.saturating_sub(n.get())` is never smaller than `Self::MIN.0` and has therefore no effect
--> traits/memberships/src/lib.rs:98:14
|
98 | Self(self.0.saturating_sub(n.get()).max(Self::MIN.0))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.0.saturating_sub(n.get())`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_min_or_max
= note: `#[warn(clippy::unnecessary_min_or_max)]` on by default
|
redundant pattern matching, consider using `is_some()`:
pallets/gas-transaction-payment/src/extensions.rs#L102
warning: redundant pattern matching, consider using `is_some()`
--> pallets/gas-transaction-payment/src/extensions.rs:102:16
|
102 | if let Some(_) = T::GasBurner::check_available_gas(who, &info.weight) {
| -------^^^^^^^------------------------------------------------------- help: try: `if T::GasBurner::check_available_gas(who, &info.weight).is_some()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching
= note: `#[warn(clippy::redundant_pattern_matching)]` on by default
|
empty doc comment:
pallets/referenda-tracks/src/lib.rs#L86
warning: empty doc comment
--> pallets/referenda-tracks/src/lib.rs:86:9
|
86 | ///
| ^^^
|
= help: consider removing or filling it
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs
= note: `#[warn(clippy::empty_docs)]` on by default
|
useless conversion to the same type: `()`:
pallets/referenda-tracks/src/impls.rs#L96
warning: useless conversion to the same type: `()`
--> pallets/referenda-tracks/src/impls.rs:96:12
|
96 | Ok(().into())
| ^^^^^^^^^ help: consider removing `.into()`: `()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
= note: `#[warn(clippy::useless_conversion)]` on by default
|
passing a unit value to a function:
pallets/referenda-tracks/src/impls.rs#L96
warning: passing a unit value to a function
--> pallets/referenda-tracks/src/impls.rs:96:9
|
96 | Ok(().into())
| ^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg
= note: `#[warn(clippy::unit_arg)]` on by default
help: move the expression in front of the call and replace it with the unit literal `()`
|
96 ~ ().into();
97 + Ok(())
|
|
binary comparison to literal `Option::None`:
pallets/referenda-tracks/src/impls.rs#L41
warning: binary comparison to literal `Option::None`
--> pallets/referenda-tracks/src/impls.rs:41:13
|
41 | Tracks::<T, I>::get(id) == None,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `Option::is_none()` instead: `Tracks::<T, I>::get(id).is_none()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none
= note: `#[warn(clippy::partialeq_to_none)]` on by default
|
using `clone` on type `<T as Config<I>>::TrackId` which implements the `Copy` trait:
pallets/referenda-tracks/src/benchmarking.rs#L86
warning: using `clone` on type `<T as Config<I>>::TrackId` which implements the `Copy` trait
--> pallets/referenda-tracks/src/benchmarking.rs:86:57
|
86 | OriginToTrackId::<T, I>::insert(origin.clone(), id.clone());
| ^^^^^^^^^^ help: try dereferencing it: `*id`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
|
using `clone` on type `<T as Config<I>>::TrackId` which implements the `Copy` trait:
pallets/referenda-tracks/src/benchmarking.rs#L85
warning: using `clone` on type `<T as Config<I>>::TrackId` which implements the `Copy` trait
--> pallets/referenda-tracks/src/benchmarking.rs:85:32
|
85 | Tracks::<T, I>::insert(id.clone(), track.clone());
| ^^^^^^^^^^ help: try dereferencing it: `*id`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
= note: `#[warn(clippy::clone_on_copy)]` on by default
|
duplicated attribute:
pallets/referenda-tracks/src/benchmarking.rs#L20
warning: duplicated attribute
--> pallets/referenda-tracks/src/benchmarking.rs:20:8
|
20 | #![cfg(feature = "runtime-benchmarks")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: first defined here
--> pallets/referenda-tracks/src/lib.rs:37:7
|
37 | #[cfg(feature = "runtime-benchmarks")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: remove this attribute
--> pallets/referenda-tracks/src/benchmarking.rs:20:8
|
20 | #![cfg(feature = "runtime-benchmarks")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duplicated_attributes
= note: `#[warn(clippy::duplicated_attributes)]` on by default
|
clippy
The following actions uses node12 which is deprecated and will be forced to run on node16: 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/
|
clippy
The following actions use a deprecated Node.js version and will be forced to run on node20: 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/
|