diff --git a/.circleci/config.yml b/.circleci/config.yml index 91b30f3a8..430a9b4c2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -13,7 +13,7 @@ restore-workspace: &restore-workspace restore-cache: &restore-cache restore_cache: keys: - - cargo-v0-{{ checksum "rust-toolchain" }}-{{ checksum "Cargo.toml" }}-{{ checksum "Cargo.lock" }}-{{ arch }} + - cargo-v1-{{ checksum "rust-toolchain" }}-{{ checksum "Cargo.toml" }}-{{ checksum "Cargo.lock" }}-{{ arch }} - repo-source-{{ .Branch }}-{{ .Revision }} commands: @@ -53,10 +53,11 @@ jobs: command: cargo generate-lockfile - restore_cache: keys: - - cargo-v0-{{ checksum "rust-toolchain" }}-{{ checksum "Cargo.toml" }}-{{ checksum "Cargo.lock" }}-{{ arch }} + - cargo-v1-{{ checksum "rust-toolchain" }}-{{ checksum "Cargo.toml" }}-{{ checksum "Cargo.lock" }}-{{ arch }} - run: rustup install $(cat rust-toolchain) - run: rustup default $(cat rust-toolchain) - run: rustup component add --toolchain $(cat rust-toolchain) rustfmt + - run: rustup component add --toolchain $(cat rust-toolchain) clippy-preview - run: cargo update - run: cargo fetch - run: rustc +stable --version @@ -67,7 +68,7 @@ jobs: paths: - crate - save_cache: - key: cargo-v0-{{ checksum "rust-toolchain" }}-{{ checksum "Cargo.toml" }}-{{ checksum "Cargo.lock" }}-{{ arch }} + key: cargo-v1-{{ checksum "rust-toolchain" }}-{{ checksum "Cargo.toml" }}-{{ checksum "Cargo.lock" }}-{{ arch }} paths: - "~/.cargo" - "~/.rustup" @@ -160,6 +161,15 @@ jobs: - run: ls -laR workspace - run: ci_scripts/ci_upload.sh workspace/py-docs workspace/wheelhouse + clippy: + executor: default + steps: + - *restore-workspace + - *restore-cache + - run: + name: Run cargo clippy + command: cargo clippy --all + workflows: version: 2.1 @@ -175,6 +185,10 @@ workflows: requires: - cargo_fetch + - clippy: + requires: + - cargo_fetch + # Linux Desktop 64bit - test_x86_64-unknown-linux-gnu: requires: diff --git a/src/lib.rs b/src/lib.rs index da16c8c4a..504770bb2 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,3 +1,8 @@ +#![deny(clippy::correctness)] +// TODO: make all of these errors, such that clippy actually passes. +#![warn(clippy::all, clippy::perf, clippy::not_unsafe_ptr_arg_deref)] +// This is nice, but for now just annoying. +#![allow(clippy::unreadable_literal)] #![feature(c_variadic, ptr_wrapping_offset_from, ptr_cast)] #[macro_use]