calc_rational

CLI calculator for rational numbers.
git clone https://git.philomathiclife.com/repos/calc_rational
Log | Files | Refs | README

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