[package]
edition = "2024"
rust-version = "1.98"
name = "t2t-core"
version = "0.1.1"
authors = ["Atomix Labs"]
build = false
exclude = ["benches/results/"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "time values: points on the wall and monotonic clocks, counter readings, and the spans between them."
homepage = "https://atomix-labs.github.io/t2t/"
readme = "README.md"
keywords = [
"time",
"timestamp",
"duration",
"rfc3339",
"no-std",
]
categories = [
"date-and-time",
"no-std",
"no-std::no-alloc",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/atomix-labs/t2t"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
targets = ["x86_64-unknown-linux-gnu"]
[package.metadata.cargo-shear]
ignored-paths = ["tests/compile_fail/*.rs"]
[features]
chrono-04 = ["dep:chrono"]
default = []
jiff-02 = ["dep:jiff"]
schemars = [
"dep:schemars",
"serde",
]
serde = ["dep:serde_core"]
std = [
"arrayvec/std",
"chrono?/std",
"derive_more/std",
"jiff?/std",
"powerfmt/std",
"schemars?/std",
"serde_core?/std",
"time?/std",
"zerocopy?/std",
]
time-03 = ["dep:time"]
zerocopy = ["dep:zerocopy"]
[lib]
name = "t2t_core"
path = "src/lib.rs"
bench = false
[[test]]
name = "book"
path = "tests/book/main.rs"
[[test]]
name = "trybuild"
path = "tests/trybuild.rs"
[[bench]]
name = "convert"
path = "benches/convert.rs"
harness = false
[dependencies.arrayvec]
version = "0.7.8"
default-features = false
[dependencies.chrono]
version = "0.4.45"
optional = true
default-features = false
[dependencies.derive_more]
version = "2.1.1"
features = [
"debug",
"deref",
"deref_mut",
"display",
"error",
"from",
"into",
]
default-features = false
[dependencies.itoa]
version = "1.0.18"
default-features = false
[dependencies.jiff]
version = "0.2.37"
optional = true
default-features = false
[dependencies.powerfmt]
version = "0.2.0"
default-features = false
[dependencies.schemars]
version = "1.2.2"
optional = true
default-features = false
[dependencies.serde_core]
version = "1.0.229"
optional = true
default-features = false
[dependencies.time]
version = "0.3.55"
optional = true
default-features = false
[dependencies.zerocopy]
version = "0.8.59"
features = ["derive"]
optional = true
default-features = false
[dev-dependencies.divan]
version = "0.1.21"
[dev-dependencies.fancy-regex]
version = "0.19.2"
[dev-dependencies.proptest]
version = "1.11.0"
[dev-dependencies.rstest]
version = "0.27.0"
default-features = false
[dev-dependencies.serde]
version = "1.0.229"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1.0.151"
[dev-dependencies.serde_test]
version = "1.0.177"
[dev-dependencies.trybuild]
version = "1.0.121"
[lints.cargo]
non_kebab_case_bins = "deny"
[lints.clippy]
absolute_paths = "deny"
allow_attributes = "deny"
allow_attributes_without_reason = "deny"
arithmetic_side_effects = "deny"
as_conversions = "deny"
await_holding_lock = "deny"
clone_on_ref_ptr = "deny"
create_dir = "deny"
dbg_macro = "deny"
empty_enum_variants_with_brackets = "deny"
empty_enums = "allow"
empty_structs_with_brackets = "deny"
error_impl_error = "deny"
exit = "deny"
expect_used = "deny"
filetype_is_file = "deny"
float_cmp = "deny"
get_unwrap = "deny"
impl_trait_in_params = "deny"
indexing_slicing = "deny"
let_underscore_must_use = "deny"
lossy_float_literal = "deny"
map_err_ignore = "deny"
mem_forget = "deny"
missing_assert_message = "deny"
missing_docs_in_private_items = "deny"
mixed_read_write_in_expression = "deny"
module_inception = "allow"
multiple_unsafe_ops_per_block = "deny"
mutex_atomic = "deny"
mutex_integer = "deny"
panic = "deny"
panic_in_result_fn = "deny"
print_stderr = "deny"
print_stdout = "deny"
pub_without_shorthand = "deny"
rc_buffer = "deny"
rc_mutex = "deny"
redundant_pub_crate = "allow"
redundant_type_annotations = "deny"
same_name_method = "deny"
self_named_module_files = "deny"
semicolon_inside_block = "deny"
std_instead_of_alloc = "deny"
std_instead_of_core = "deny"
str_to_string = "deny"
string_slice = "deny"
suspicious_xor_used_as_pow = "deny"
tests_outside_test_module = "deny"
todo = "deny"
undocumented_unsafe_blocks = "deny"
unimplemented = "deny"
unnecessary_safety_comment = "deny"
unnecessary_safety_doc = "deny"
unnecessary_self_imports = "deny"
unreachable = "deny"
unseparated_literal_suffix = "deny"
unused_result_ok = "deny"
unwrap_in_result = "deny"
unwrap_used = "deny"
verbose_file_reads = "deny"
wildcard_enum_match_arm = "deny"
wildcard_imports = "deny"
[lints.clippy.all]
level = "deny"
priority = -1
[lints.clippy.nursery]
level = "deny"
priority = -1
[lints.clippy.pedantic]
level = "deny"
priority = -1
[lints.rust]
macro_use_extern_crate = "deny"
meta_variable_misuse = "deny"
missing_debug_implementations = "deny"
missing_docs = "deny"
single_use_lifetimes = "deny"
unfulfilled_lint_expectations = "deny"
unknown_lints = "deny"
unreachable_pub = "deny"
unsafe_code = "deny"
unsafe_op_in_unsafe_fn = "deny"
unused_lifetimes = "deny"
unused_must_use = "deny"
unused_qualifications = "allow"
variant_size_differences = "deny"
[lints.rust.rust_2018_idioms]
level = "deny"
priority = -1
[lints.rust.unexpected_cfgs]
level = "deny"
priority = 0
check-cfg = ["cfg(loom)"]
[lints.rust.unused]
level = "deny"
priority = -1
[lints.rustdoc]
bare_urls = "deny"
broken_intra_doc_links = "deny"
invalid_codeblock_attributes = "deny"
invalid_html_tags = "deny"
invalid_rust_codeblocks = "deny"
private_intra_doc_links = "deny"
redundant_explicit_links = "deny"
unescaped_backticks = "deny"