# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.67.0"
name = "time"
version = "0.3.36"
authors = [
    "Jacob Pratt <open-source@jhpratt.dev>",
    "Time contributors",
]
include = [
    "src/**/*",
    "LICENSE-*",
    "README.md",
]
description = "Date and time library. Fully interoperable with the standard library. Mostly compatible with #![no_std]."
homepage = "https://time-rs.github.io"
readme = "README.md"
keywords = [
    "date",
    "time",
    "calendar",
    "duration",
]
categories = [
    "date-and-time",
    "no-std",
    "parser-implementations",
    "value-formatting",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/time-rs/time"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "__time_03_docs",
    "--generate-link-to-definition",
]
targets = ["x86_64-unknown-linux-gnu"]

[lib]
bench = false

[[test]]
name = "tests"
path = "../tests/main.rs"

[[bench]]
name = "benchmarks"
path = "../benchmarks/main.rs"
harness = false

[dependencies.deranged]
version = "0.3.9"
features = ["powerfmt"]
default-features = false

[dependencies.itoa]
version = "1.0.1"
optional = true

[dependencies.num-conv]
version = "0.1.0"

[dependencies.powerfmt]
version = "0.2.0"
default-features = false

[dependencies.quickcheck]
version = "1.0.3"
optional = true
default-features = false

[dependencies.rand]
version = "0.8.4"
optional = true
default-features = false

[dependencies.serde]
version = "1.0.184"
optional = true
default-features = false

[dependencies.time-core]
version = "=0.1.2"

[dependencies.time-macros]
version = "=0.2.18"
optional = true

[dev-dependencies.num-conv]
version = "0.1.0"

[dev-dependencies.quickcheck_macros]
version = "1.0.0"

[dev-dependencies.rand]
version = "0.8.4"
default-features = false

[dev-dependencies.rstest]
version = "0.18.2"
default-features = false

[dev-dependencies.rstest_reuse]
version = "0.6.0"

[dev-dependencies.serde]
version = "1.0.184"
features = ["derive"]
default-features = false

[dev-dependencies.serde_json]
version = "1.0.68"

[dev-dependencies.serde_test]
version = "1.0.126"

[dev-dependencies.time-macros]
version = "=0.2.18"

[features]
alloc = ["serde?/alloc"]
default = ["std"]
formatting = [
    "dep:itoa",
    "std",
    "time-macros?/formatting",
]
large-dates = ["time-macros?/large-dates"]
local-offset = [
    "std",
    "dep:libc",
    "dep:num_threads",
]
macros = ["dep:time-macros"]
parsing = ["time-macros?/parsing"]
quickcheck = [
    "dep:quickcheck",
    "alloc",
    "deranged/quickcheck",
]
rand = [
    "dep:rand",
    "deranged/rand",
]
serde = [
    "dep:serde",
    "time-macros?/serde",
    "deranged/serde",
]
serde-human-readable = [
    "serde",
    "formatting",
    "parsing",
]
serde-well-known = [
    "serde",
    "formatting",
    "parsing",
]
std = [
    "alloc",
    "deranged/std",
]
wasm-bindgen = ["dep:js-sys"]

[target."cfg(__ui_tests)".dev-dependencies.trybuild]
version = "1.0.68"

[target."cfg(all(target_family = \"wasm\", not(any(target_os = \"emscripten\", target_os = \"wasi\"))))".dependencies.js-sys]
version = "0.3.58"
optional = true

[target."cfg(bench)".dev-dependencies.criterion]
version = "0.5.1"
default-features = false

[target."cfg(target_family = \"unix\")".dependencies.libc]
version = "0.2.98"
optional = true

[target."cfg(target_family = \"unix\")".dependencies.num_threads]
version = "0.1.2"
optional = true

[lints.clippy]
all = "warn"
alloc-instead-of-core = "deny"
dbg-macro = "warn"
decimal-literal-representation = "warn"
explicit-auto-deref = "warn"
get-unwrap = "warn"
manual-let-else = "warn"
missing-docs-in-private-items = "warn"
missing-enforced-import-renames = "warn"
nursery = "warn"
obfuscated-if-else = "warn"
print-stdout = "warn"
semicolon-outside-block = "warn"
std-instead-of-core = "deny"
todo = "warn"
undocumented-unsafe-blocks = "deny"
unimplemented = "warn"
uninlined-format-args = "warn"
unnested-or-patterns = "warn"
unwrap-in-result = "warn"
unwrap-used = "warn"
use-debug = "warn"

[lints.clippy.option-if-let-else]
level = "allow"
priority = 1

[lints.clippy.redundant-pub-crate]
level = "allow"
priority = 1

[lints.rust]
ambiguous-glob-reexports = "deny"
clashing-extern-declarations = "deny"
const-item-mutation = "deny"
deref-nullptr = "deny"
drop-bounds = "deny"
future-incompatible = "deny"
hidden-glob-reexports = "deny"
improper-ctypes = "deny"
improper-ctypes-definitions = "deny"
invalid-from-utf8 = "deny"
invalid-macro-export-arguments = "deny"
invalid-nan-comparisons = "deny"
invalid-reference-casting = "deny"
invalid-value = "deny"
keyword-idents = "warn"
let-underscore = "warn"
macro-use-extern-crate = "warn"
meta-variable-misuse = "warn"
missing-abi = "warn"
missing-copy-implementations = "warn"
missing-debug-implementations = "warn"
missing-docs = "warn"
named-arguments-used-positionally = "deny"
non-ascii-idents = "deny"
noop-method-call = "warn"
opaque-hidden-inferred-bound = "deny"
overlapping-range-endpoints = "deny"
single-use-lifetimes = "warn"
suspicious-double-ref-op = "deny"
temporary-cstring-as-ptr = "deny"
trivial-casts = "warn"
trivial-numeric-casts = "warn"
unconditional-recursion = "deny"
unnameable-test-items = "deny"
unreachable-pub = "warn"
unsafe-op-in-unsafe-fn = "deny"
unstable-syntax-pre-expansion = "deny"
unused = "warn"
unused-import-braces = "warn"
unused-lifetimes = "warn"
unused-qualifications = "warn"
variant-size-differences = "warn"

[lints.rust.unstable-name-collisions]
level = "warn"
priority = 1

[lints.rustdoc]
private-doc-tests = "warn"
unescaped-backticks = "warn"
