Cargo.toml (5160B)
1 [package] 2 authors = ["Zack Newman <zack@philomathiclife.com>"] 3 categories = ["algorithms", "mathematics", "science", "command-line-utilities"] 4 description = "CLI calculator for rational numbers." 5 documentation = "https://crates.io/crates/calc_rational" 6 edition = "2024" 7 keywords = ["calculator", "mathematics", "numerics"] 8 license = "MIT OR Apache-2.0" 9 name = "calc_rational" 10 readme = "README.md" 11 repository = "https://git.philomathiclife.com/repos/calc_rational/" 12 rust-version = "1.87.0" 13 version = "2.4.1" 14 15 [lib] 16 name = "calc_lib" 17 path = "src/lib.rs" 18 19 [[bin]] 20 name = "calc" 21 path = "src/main.rs" 22 23 [lints.rust] 24 ambiguous_negative_literals = { level = "deny", priority = -1 } 25 closure_returning_async_block = { level = "deny", priority = -1 } 26 deprecated_safe = { level = "deny", priority = -1 } 27 deref_into_dyn_supertrait = { level = "deny", priority = -1 } 28 ffi_unwind_calls = { level = "deny", priority = -1 } 29 future_incompatible = { level = "deny", priority = -1 } 30 #fuzzy_provenance_casts = { level = "deny", priority = -1 } 31 impl_trait_redundant_captures = { level = "deny", priority = -1 } 32 keyword_idents = { level = "deny", priority = -1 } 33 let_underscore = { level = "deny", priority = -1 } 34 #linker_messages = { level = "deny", priority = -1 } 35 #lossy_provenance_casts = { level = "deny", priority = -1 } 36 macro_use_extern_crate = { level = "deny", priority = -1 } 37 meta_variable_misuse = { level = "deny", priority = -1 } 38 missing_copy_implementations = { level = "deny", priority = -1 } 39 missing_debug_implementations = { level = "deny", priority = -1 } 40 missing_docs = { level = "deny", priority = -1 } 41 #multiple_supertrait_upcastable = { level = "deny", priority = -1 } 42 #must_not_suspend = { level = "deny", priority = -1 } 43 non_ascii_idents = { level = "deny", priority = -1 } 44 #non_exhaustive_omitted_patterns = { level = "deny", priority = -1 } 45 nonstandard_style = { level = "deny", priority = -1 } 46 redundant_imports = { level = "deny", priority = -1 } 47 redundant_lifetimes = { level = "deny", priority = -1 } 48 refining_impl_trait = { level = "deny", priority = -1 } 49 rust_2018_compatibility = { level = "deny", priority = -1 } 50 rust_2018_idioms = { level = "deny", priority = -1 } 51 rust_2021_compatibility = { level = "deny", priority = -1 } 52 rust_2024_compatibility = { level = "deny", priority = -1 } 53 single_use_lifetimes = { level = "deny", priority = -1 } 54 #supertrait_item_shadowing_definition = { level = "deny", priority = -1 } 55 trivial_casts = { level = "deny", priority = -1 } 56 trivial_numeric_casts = { level = "deny", priority = -1 } 57 unit_bindings = { level = "deny", priority = -1 } 58 unnameable_types = { level = "deny", priority = -1 } 59 #unqualified_local_imports = { level = "deny", priority = -1 } 60 unreachable_pub = { level = "deny", priority = -1 } 61 unsafe_code = { level = "deny", priority = -1 } 62 unstable_features = { level = "deny", priority = -1 } 63 unused = { level = "deny", priority = -1 } 64 unused_crate_dependencies = { level = "deny", priority = -1 } 65 unused_import_braces = { level = "deny", priority = -1 } 66 unused_lifetimes = { level = "deny", priority = -1 } 67 unused_qualifications = { level = "deny", priority = -1 } 68 unused_results = { level = "deny", priority = -1 } 69 variant_size_differences = { level = "deny", priority = -1 } 70 warnings = { level = "deny", priority = -1 } 71 72 [lints.clippy] 73 all = { level = "deny", priority = -1 } 74 cargo = { level = "deny", priority = -1 } 75 complexity = { level = "deny", priority = -1 } 76 correctness = { level = "deny", priority = -1 } 77 nursery = { level = "deny", priority = -1 } 78 pedantic = { level = "deny", priority = -1 } 79 perf = { level = "deny", priority = -1 } 80 restriction = { level = "deny", priority = -1 } 81 style = { level = "deny", priority = -1 } 82 suspicious = { level = "deny", priority = -1 } 83 # Noisy, opinionated, and likely don't prevent bugs or improve APIs. 84 arbitrary_source_item_ordering = "allow" 85 blanket_clippy_restriction_lints = "allow" 86 exhaustive_enums = "allow" 87 implicit_return = "allow" 88 min_ident_chars = "allow" 89 missing_trait_methods = "allow" 90 pub_use = "allow" 91 question_mark_used = "allow" 92 ref_patterns = "allow" 93 return_and_then = "allow" 94 single_call_fn = "allow" 95 single_char_lifetime_names = "allow" 96 unseparated_literal_suffix = "allow" 97 98 [package.metadata.docs.rs] 99 all-features = true 100 rustdoc-args = ["--cfg", "docsrs"] 101 102 [dependencies] 103 num-bigint = { version = "0.4.6", default-features = false } 104 num-integer = { version = "0.1.46", default-features = false } 105 num-rational = { version = "0.4.2", default-features = false, features = ["num-bigint"] } 106 num-traits = { version = "0.2.19", default-features = false } 107 priv_sep = { version = "3.0.0-alpha.1.3", default-features = false, optional = true } 108 rand = { version = "0.9.2", default-features = false, features = ["thread_rng"], optional = true } 109 110 111 ### FEATURES ################################################################# 112 113 [features] 114 default = ["priv_sep"] 115 116 # Provide pledge and unveil for OpenBSD. 117 priv_sep = ["dep:priv_sep", "std"] 118 119 # Provide random functions. 120 rand = ["dep:rand", "std"] 121 122 # Provide std support. This must be enabled when compiling the binary crate. 123 std = [] 124 125 [profile.release] 126 lto = true 127 panic = 'abort' 128 strip = true