# 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 = "2024"
name = "le-stream"
version = "10.1.1"
authors = ["Richard Neumann <neumann@paulmann.de>"]
build = false
exclude = [".gitignore"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "De-/serialize objects from/to little endian byte streams"
documentation = "https://docs.rs/le-stream"
readme = "README.md"
keywords = [
    "little",
    "endian",
    "byte",
    "stream",
]
categories = ["encoding"]
license = "MIT"
repository = "https://github.com/PaulmannLighting/le-stream"

[features]
alloc = []
derive = ["dep:le-stream-derive"]
heapless = ["dep:heapless"]
intx = ["dep:intx"]
macaddr = ["dep:macaddr"]

[lib]
name = "le_stream"
path = "src/lib.rs"

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

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

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

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

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

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

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

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

[dependencies.heapless]
version = "0.9"
optional = true

[dependencies.intx]
version = "0.1"
optional = true

[dependencies.le-stream-derive]
version = "1"
optional = true

[dependencies.macaddr]
version = "1"
optional = true

[lints.clippy]
as_ptr_cast_mut = "warn"
clear_with_drain = "warn"
collection_is_never_read = "warn"
debug_assert_with_mut_call = "warn"
deref_by_slicing = "warn"
empty_enum_variants_with_brackets = "warn"
fn_to_numeric_cast_any = "warn"
format_push_string = "warn"
incompatible_msrv = "warn"
mem_forget = "warn"
needless_collect = "warn"
needless_pass_by_ref_mut = "warn"
nonstandard_macro_braces = "warn"
panic_in_result_fn = "warn"
path_buf_push_overwrite = "warn"
rc_buffer = "warn"
rc_mutex = "warn"
read_zero_byte_vec = "warn"
unwrap_in_result = "warn"
useless_let_if_seq = "warn"
verbose_file_reads = "warn"

[lints.clippy.all]
level = "warn"
priority = -98

[lints.clippy.cargo]
level = "warn"
priority = -95

[lints.clippy.complexity]
level = "warn"
priority = -100

[lints.clippy.nursery]
level = "warn"
priority = -95

[lints.clippy.pedantic]
level = "warn"
priority = -90

[lints.clippy.perf]
level = "warn"
priority = -95

[lints.clippy.suspicious]
level = "warn"
priority = -95

[lints.rust]
absolute_paths_not_starting_with_crate = "warn"
elided_lifetimes_in_paths = "warn"
for_loops_over_fallibles = "warn"
macro_use_extern_crate = "warn"
meta_variable_misuse = "warn"
missing_docs = "warn"
redundant_lifetimes = "warn"
trivial_casts = "warn"
trivial_numeric_casts = "warn"
unit_bindings = "warn"
unsafe_code = "warn"
unstable_features = "warn"
unused_crate_dependencies = "warn"
unused_imports = "warn"
unused_qualifications = "warn"
variant_size_differences = "warn"

[lints.rust.keyword_idents]
level = "warn"
priority = -1
