diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6b2034f..9ec7e8e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,7 @@ jobs: steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - uses: actions-rust-lang/setup-rust-toolchain@1780873c7b576612439a134613cc4cc74ce5538c # v1.15.2 - - run: cargo test --verbose + - run: cargo test --workspace --verbose fuzz: name: Fuzz @@ -56,7 +56,13 @@ jobs: - uses: actions-rust-lang/setup-rust-toolchain@1780873c7b576612439a134613cc4cc74ce5538c # v1.15.2 with: components: clippy - - run: cargo clippy --all-features --all-targets -- -D warnings + - run: > + cargo clippy + --workspace + --all-features + --all-targets + -- + -D warnings check-doctests: name: Check (doc tests) @@ -68,10 +74,15 @@ jobs: # https://github.com/rust-lang/cargo/issues/6669 - env: RUST_BACKTRACE: 1 - run: cargo test --doc + run: cargo test --workspace --doc - env: RUSTDOCFLAGS: "--deny warnings" - run: cargo doc --no-deps --all-features --document-private-items + run: > + cargo doc + --workspace + --no-deps + --all-features + --document-private-items check-cxx: name: Check (cxx) diff --git a/Cargo.toml b/Cargo.toml index ef9de4f..804d013 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,6 +19,17 @@ log = "0.4.29" rand = "0.9.2" thiserror = "2.0.17" +[workspace.lints.rust] +dead-code = "allow" +unused-macros = "allow" +rust-2018-idioms = "deny" +unsafe-code = "deny" +warnings = "deny" + +[workspace.lints.clippy] +all = "deny" +cargo = "deny" + [package] name = "dcsctp" description = "An SCTP implementation for WebRTC Data Channels" @@ -43,6 +54,9 @@ cxx-build = { workspace = true, optional = true } [dev-dependencies] itertools = { workspace = true } +[lints] +workspace = true + [features] cxx = ["dep:cxx", "dep:cxx-build"] fuzz-internals = [] diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml index f05982c..df025f0 100644 --- a/fuzz/Cargo.toml +++ b/fuzz/Cargo.toml @@ -9,6 +9,9 @@ metadata = { cargo-fuzz = true } dcsctp = { workspace = true, features = ["fuzz-internals"] } libfuzzer-sys = { workspace = true } +[lints] +workspace = true + [[bin]] name = "parse_parameters" path = "fuzz_targets/parse_parameters.rs" diff --git a/fuzz/fuzz_targets/parse_error_causes.rs b/fuzz/fuzz_targets/parse_error_causes.rs index fcf8512..2e7875c 100644 --- a/fuzz/fuzz_targets/parse_error_causes.rs +++ b/fuzz/fuzz_targets/parse_error_causes.rs @@ -15,8 +15,8 @@ #![no_main] use libfuzzer_sys::fuzz_target; -extern crate dcsctp; fuzz_target!(|data: &[u8]| { + #[allow(clippy::let_unit_value)] let _ = dcsctp::fuzzer::parse_error_causes(data); }); diff --git a/fuzz/fuzz_targets/parse_packet.rs b/fuzz/fuzz_targets/parse_packet.rs index d981d7f..fab22b5 100644 --- a/fuzz/fuzz_targets/parse_packet.rs +++ b/fuzz/fuzz_targets/parse_packet.rs @@ -15,8 +15,8 @@ #![no_main] use libfuzzer_sys::fuzz_target; -extern crate dcsctp; fuzz_target!(|data: &[u8]| { + #[allow(clippy::let_unit_value)] let _ = dcsctp::fuzzer::parse_packet(data); }); diff --git a/fuzz/fuzz_targets/parse_parameters.rs b/fuzz/fuzz_targets/parse_parameters.rs index 3f509af..7ab55d6 100644 --- a/fuzz/fuzz_targets/parse_parameters.rs +++ b/fuzz/fuzz_targets/parse_parameters.rs @@ -15,8 +15,8 @@ #![no_main] use libfuzzer_sys::fuzz_target; -extern crate dcsctp; fuzz_target!(|data: &[u8]| { + #[allow(clippy::let_unit_value)] let _ = dcsctp::fuzzer::parse_parameters(data); }); diff --git a/src/lib.rs b/src/lib.rs index 03f98a8..d4bbf03 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -12,14 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -#![allow(dead_code)] -#![allow(unused_macros)] -#![deny(clippy::all)] -#![deny(clippy::cargo)] -#![deny(rust_2018_idioms)] -#![deny(warnings)] -#![deny(unsafe_code)] - use crate::api::DcSctpSocket; use crate::api::Options;