[package] authors = ["Paul Mason "] build = "build.rs" categories = ["science", "mathematics", "data-structures"] description = "Decimal number implementation written in pure Rust suitable for financial and fixed-precision calculations." documentation = "https://docs.rs/rust_decimal/" edition = "2021" exclude = ["tests/generated/*"] keywords = ["decimal", "financial", "fixed", "precision", "number"] license = "MIT" name = "rust_decimal" readme = "./README.md" repository = "https://github.com/paupino/rust-decimal" rust-version = "1.60" version = "1.36.0" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [dependencies] arbitrary = { default-features = false, optional = true, version = "1.0" } arrayvec = { default-features = false, version = "0.7" } borsh = { default-features = false, features = ["derive", "unstable__schema"], optional = true, version = "1.1.1" } bytes = { default-features = false, optional = true, version = "1.0" } diesel = { default-features = false, optional = true, version = "2.2" } ndarray = { default-features = false, optional = true, version = "0.15.6" } num-traits = { default-features = false, features = ["i128"], version = "0.2" } postgres-types = { default-features = false, optional = true, version = "0.2" } proptest = { default-features = false, optional = true, features = ["std"], version = "1.0" } rand = { default-features = false, optional = true, version = "0.8" } rkyv = { default-features = false, features = ["size_32", "std"], optional = true, version = "0.7.42" } rocket = { default-features = false, optional = true, version = "0.5.0-rc.3" } #rust_decimal_macros = { default-features = false, optional = true, version = "1.34" } # This needs to a published version serde = { default-features = false, optional = true, version = "1.0" } serde_json = { default-features = false, optional = true, version = "1.0" } tokio-postgres = { default-features = false, optional = true, version = "0.7" } [dev-dependencies] bincode = { default-features = false, version = "1.0" } bytes = { default-features = false, version = "1.0" } criterion = { default-features = false, version = "0.5" } csv = "1" futures = { default-features = false, version = "0.3" } rand = { default-features = false, features = ["getrandom"], version = "0.8" } rust_decimal_macros = { default-features = false, version = "1.33" } serde = { default-features = false, features = ["derive"], version = "1.0" } serde_json = "1.0" tokio = { default-features = false, features = ["macros", "rt-multi-thread", "test-util"], version = "1.0" } version-sync = { default-features = false, features = ["html_root_url_updated", "markdown_deps_updated"], version = "0.9" } postgres = { default-features = false, version = "0.19" } tokio-postgres = { default-features = false, version = "0.7" } [features] default = ["serde", "std"] # Removed in 1.34.2 due to an issue during version resolution #macros = ["dep:rust_decimal_macros"] borsh = ["dep:borsh", "std"] c-repr = [] # Force Decimal to be repr(C) db-diesel-mysql = ["diesel/mysql", "std"] db-diesel-postgres = ["diesel/postgres", "std"] db-diesel2-mysql = ["db-diesel-mysql"] db-diesel2-postgres = ["db-diesel-postgres"] db-postgres = ["dep:bytes", "dep:postgres-types", "std"] db-tokio-postgres = ["dep:bytes", "dep:postgres-types", "std"] legacy-ops = [] maths = [] maths-nopanic = ["maths"] ndarray = ["dep:ndarray"] proptest = ["dep:proptest"] rand = ["dep:rand"] rkyv = ["dep:rkyv"] rkyv-safe = ["rkyv/validation"] rocket-traits = ["dep:rocket"] rust-fuzz = ["dep:arbitrary"] serde = ["dep:serde"] serde-arbitrary-precision = ["serde-with-arbitrary-precision"] serde-bincode = ["serde-str"] # Backwards compatability serde-float = ["serde-with-float"] serde-str = ["serde-with-str"] serde-with-arbitrary-precision = ["serde", "serde_json/arbitrary_precision", "serde_json/std"] serde-with-float = ["serde"] serde-with-str = ["serde"] std = ["arrayvec/std", "borsh?/std", "bytes?/std", "rand?/std", "rkyv?/std", "serde?/std", "serde_json?/std"] tokio-pg = ["db-tokio-postgres"] # Backwards compatability [[bench]] harness = false name = "comparison" path = "benches/comparison.rs" [workspace] members = [ ".", "./macros" ] resolver = "2"