[workspace] members = [ "crates/app", "crates/executor", "crates/ir", ] resolver = "2" [workspace.dependencies] clap = { version = "4", features = ["derive"] } serde = { version = "1.0", features = ["derive"] } # to enable all the lints below, this must be present in a workspace member's Cargo.toml: # [lints] # workspace = true [workspace.lints.rust] unsafe_code = "deny" variant_size_differences = "warn" [workspace.lints.clippy] branches_sharing_code = "warn" clone_on_ref_ptr = "warn" cognitive_complexity = "warn" derive_partial_eq_without_eq = "warn" equatable_if_let = "warn" filetype_is_file = "warn" format_push_string = "warn" if_then_some_else_none = "warn" integer_division = "warn" let_underscore_must_use = "warn" manual_clamp = "warn" pedantic = "warn" str_to_string = "warn" unneeded_field_pattern = "warn" unnested_or_patterns = "warn" allow_attributes_without_reason = "deny" cast_lossless = "deny" fallible_impl_from = "deny" unnecessary_cast = "deny" unwrap_used = "deny" # allowed, since you can give reasons expect_used = "allow" # must be allowed with clearly documented reasons indexing_slicing = "allow" module_name_repetitions = "allow" must_use_candidate = "allow" # TODO: more granular and clean missing_panics_doc = "allow" missing_errors_doc = "allow"