[workspace] members = [ "crates/server", "crates/evaluator", "crates/queue-runner", "crates/common", "crates/migrate-cli", ] resolver = "3" [workspace.package] authors = [ "NotAShelf [workspace.lints.clippy] cargo = { level = "warn", priority = -1 } complexity = { level = "warn", priority = -1 } nursery = { level = "warn", priority = -1 } pedantic = { level = "warn", priority = -1 } perf = { level = "warn", priority = -1 } style = { level = "warn", priority = -1 } # The lint groups above enable some less-than-desirable rules, we should manually # enable those to keep our sanity. absolute_paths = "allow" arbitrary_source_item_ordering = "allow" cast_possible_truncation = "allow" cast_possible_wrap = "allow" cast_precision_loss = "allow" cast_sign_loss = "allow" clone_on_ref_ptr = "warn" dbg_macro = "warn" empty_drop = "warn" empty_structs_with_brackets = "warn" exit = "warn" filetype_is_file = "warn" get_unwrap = "warn" implicit_return = "allow" infinite_loop = "warn" map_with_unused_argument_over_ranges = "warn" missing_docs_in_private_items = "allow" multiple_crate_versions = "allow" # :( non_ascii_literal = "allow" non_std_lazy_statics = "warn" pathbuf_init_then_push = "warn" pattern_type_mismatch = "allow" question_mark_used = "allow" rc_buffer = "warn" rc_mutex = "warn" rest_pat_in_fully_bound_structs = "warn" similar_names = "allow" single_call_fn = "allow" std_instead_of_core = "allow" too_long_first_doc_paragraph = "allow" too_many_arguments = "allow" # I don't care too_many_lines = "allow" undocumented_unsafe_blocks = "warn" unnecessary_safety_comment = "warn" unused_result_ok = "warn" unused_trait_names = "allow" # False positive: # clippy's build script check doesn't recognize workspace-inherited metadata # which means in our current workspace layout, we get pranked by Clippy. cargo_common_metadata = "allow" # In the honor of a recent Cloudflare regression panic = "deny" unwrap_used = "deny" # Less dangerous, but we'd like to know # Those must be opt-in, and are fine ONLY in tests and examples. expect_used = "warn" print_stderr = "warn" print_stdout = "warn" todo = "warn" unimplemented = "warn" unreachable = "warn" [profile.dev] debug = true opt-level = 0 [profile.release] lto = true opt-level = "z" strip = true