diff --git a/Cargo.toml b/Cargo.toml index 9faff29..3261a8a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,12 +9,27 @@ license-file = "LICENSE.md" rust-version = "1.85.0" [workspace.lints.rust] +arithmetic_overflow = "forbid" unsafe_code = "forbid" +[workspace.lints.clippy] +arithmetic_side_effects = "forbid" +as_conversions = "forbid" +checked_conversions = "forbid" +default_union_representation = "forbid" +expect_used = "forbid" +indexing_slicing = "forbid" +integer_division = "forbid" +integer_division_remainder_used = "forbid" +transmute_undefined_repr = "forbid" +unchecked_duration_subtraction = "forbid" +unwrap_used = "forbid" + [profile.release] codegen-units = 1 lto = "fat" opt-level = 3 +overflow-checks = true strip = "debuginfo" [workspace.dependencies] diff --git a/sample/Cargo.toml b/sample/Cargo.toml index d7e9d70..381d5ef 100644 --- a/sample/Cargo.toml +++ b/sample/Cargo.toml @@ -7,8 +7,22 @@ edition.workspace = true license-file.workspace = true rust-version.workspace = true -[lints] -workspace = true +[lints.rust] +arithmetic_overflow = "forbid" +unsafe_code = "forbid" + +[lints.clippy] +arithmetic_side_effects = "forbid" +as_conversions = "forbid" +checked_conversions = "forbid" +default_union_representation = "forbid" +expect_used = "forbid" +indexing_slicing = "forbid" +integer_division = "forbid" +integer_division_remainder_used = "forbid" +transmute_undefined_repr = "forbid" +unchecked_duration_subtraction = "forbid" +unwrap_used = "deny" [build-dependencies] architect = { workspace = true } diff --git a/sample/build.rs b/sample/build.rs index 699e132..0d71d73 100644 --- a/sample/build.rs +++ b/sample/build.rs @@ -3,11 +3,15 @@ fn main() { architect::output::raw::warning(&format!("{k}={v}")); } + #[allow(clippy::unwrap_used)] let manifest_path = architect::input::raw::cargo_manifest_path_os().unwrap(); architect::output::raw::warning(&format!("Manifest Path: {manifest_path:?}")); + #[allow(clippy::unwrap_used)] let arch = architect::input::raw::cargo_cfg_target_arch_os().unwrap(); + #[allow(clippy::unwrap_used)] let os = architect::input::raw::cargo_cfg_target_os_os().unwrap(); + #[allow(clippy::unwrap_used)] let endian = architect::input::raw::cargo_cfg_target_endian_os().unwrap(); architect::output::raw::warning(&format!("Target: {arch:?} {os:?} ({endian:?})")); } diff --git a/sample/src/lib.rs b/sample/src/lib.rs index e69de29..8b13789 100644 --- a/sample/src/lib.rs +++ b/sample/src/lib.rs @@ -0,0 +1 @@ +