mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-12 10:01:17 +00:00
add clippy to CI (#9694)
* Focus on correctness lints. This relies on a compiler patch that landed 8th July 2021. If people are using an earlier version of the compiler everything will still work unless they try and run clippy. Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> Co-authored-by: Denis Pisarev <denis.pisarev@parity.io>
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
#
|
||||
# An auto defined `clippy` feature was introduced,
|
||||
# but it was found to clash with user defined features,
|
||||
# so was renamed to `cargo-clippy`.
|
||||
#
|
||||
# If you want standard clippy run:
|
||||
# RUSTFLAGS= cargo clippy
|
||||
[target.'cfg(feature = "cargo-clippy")']
|
||||
rustflags = [
|
||||
"-Aclippy::all",
|
||||
"-Dclippy::correctness",
|
||||
"-Aclippy::if-same-then-else",
|
||||
"-Aclippy::clone-double-ref"
|
||||
]
|
||||
@@ -21,7 +21,6 @@ rls*.log
|
||||
.local
|
||||
**/hfuzz_target/
|
||||
**/hfuzz_workspace/
|
||||
.cargo/
|
||||
.cargo-remote.toml
|
||||
*.bin
|
||||
*.iml
|
||||
|
||||
@@ -311,7 +311,7 @@ cargo-deny:
|
||||
when: always
|
||||
paths:
|
||||
- deny.log
|
||||
# FIXME: Temorarily allow to fail.
|
||||
# FIXME: Temporarily allow to fail.
|
||||
allow_failure: true
|
||||
|
||||
cargo-fmt:
|
||||
@@ -321,6 +321,13 @@ cargo-fmt:
|
||||
script:
|
||||
- cargo +nightly fmt --all -- --check
|
||||
|
||||
cargo-clippy:
|
||||
stage: test
|
||||
<<: *docker-env
|
||||
<<: *test-refs
|
||||
script:
|
||||
- SKIP_WASM_BUILD=1 env -u RUSTFLAGS cargo +nightly clippy
|
||||
|
||||
cargo-check-benches:
|
||||
stage: test
|
||||
<<: *docker-env
|
||||
|
||||
@@ -304,7 +304,7 @@ pub fn create_wasm_runtime_with_code(
|
||||
//
|
||||
// We drop the cache_path here to silence warnings that cache_path is not used if
|
||||
// compiling without the `wasmtime` flag.
|
||||
drop(cache_path);
|
||||
let _ = cache_path;
|
||||
|
||||
sc_executor_wasmi::create_runtime(
|
||||
blob,
|
||||
|
||||
@@ -85,13 +85,14 @@ struct SeenRequestsKey<B: BlockT> {
|
||||
support_multiple_justifications: bool,
|
||||
}
|
||||
|
||||
#[allow(clippy::derive_hash_xor_eq)]
|
||||
impl<B: BlockT> Hash for SeenRequestsKey<B> {
|
||||
fn hash<H: Hasher>(&self, state: &mut H) {
|
||||
self.peer.hash(state);
|
||||
self.max_blocks.hash(state);
|
||||
self.direction.hash(state);
|
||||
self.attributes.hash(state);
|
||||
|
||||
self.support_multiple_justifications.hash(state);
|
||||
match self.from {
|
||||
BlockId::Hash(h) => h.hash(state),
|
||||
BlockId::Number(n) => n.hash(state),
|
||||
|
||||
@@ -78,6 +78,7 @@ struct SeenRequestsKey<B: BlockT> {
|
||||
start: Vec<u8>,
|
||||
}
|
||||
|
||||
#[allow(clippy::derive_hash_xor_eq)]
|
||||
impl<B: BlockT> Hash for SeenRequestsKey<B> {
|
||||
fn hash<H: Hasher>(&self, state: &mut H) {
|
||||
self.peer.hash(state);
|
||||
|
||||
@@ -78,7 +78,7 @@ pub trait GetCallMetadata {
|
||||
}
|
||||
|
||||
/// The version of a crate.
|
||||
#[derive(RuntimeDebug, Eq, PartialEq, Encode, Decode, Ord, Clone, Copy, Default)]
|
||||
#[derive(RuntimeDebug, Eq, PartialEq, Encode, Decode, Clone, Copy, Default)]
|
||||
pub struct CrateVersion {
|
||||
/// The major version of the crate.
|
||||
pub major: u16,
|
||||
@@ -94,14 +94,17 @@ impl CrateVersion {
|
||||
}
|
||||
}
|
||||
|
||||
impl sp_std::cmp::Ord for CrateVersion {
|
||||
fn cmp(&self, other: &Self) -> sp_std::cmp::Ordering {
|
||||
self.major
|
||||
.cmp(&other.major)
|
||||
.then_with(|| self.minor.cmp(&other.minor).then_with(|| self.patch.cmp(&other.patch)))
|
||||
}
|
||||
}
|
||||
|
||||
impl sp_std::cmp::PartialOrd for CrateVersion {
|
||||
fn partial_cmp(&self, other: &Self) -> Option<sp_std::cmp::Ordering> {
|
||||
let res = self
|
||||
.major
|
||||
.cmp(&other.major)
|
||||
.then_with(|| self.minor.cmp(&other.minor).then_with(|| self.patch.cmp(&other.patch)));
|
||||
|
||||
Some(res)
|
||||
Some(<Self as Ord>::cmp(&self, other))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user