prock 0.2.8

Fast, low-overhead CPU statistics for process trees
Documentation
[package]
name = "prock"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "Fast, low-overhead CPU statistics for process trees"
readme = "README.md"
keywords = ["cpu", "process", "monitoring", "statistics", "performance"]
categories = ["os", "development-tools::profiling"]

# Override workspace lints - prock needs unsafe for FFI
[lints.rust]
unsafe_code = "deny"  # Deny by default, allow in platform modules via #![allow(unsafe_code)]
deprecated = "deny"
rust_2018_idioms = { level = "deny", priority = -1 }
trivial_casts = "deny"
trivial_numeric_casts = "deny"
unused_lifetimes = "deny"

[lints.clippy]
pedantic = { level = "warn", priority = -1 }
unwrap_used = "deny"
expect_used = "deny"
panic = "deny"
dbg_macro = "deny"
todo = "deny"
unimplemented = "deny"
print_stdout = "allow"
print_stderr = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
must_use_candidate = "allow"
module_name_repetitions = "allow"
cast_possible_truncation = "allow"
cast_sign_loss = "allow"
cast_precision_loss = "allow"
cast_lossless = "allow"
# Note: allow_attributes is not denied here because prock needs
# #![allow(unsafe_code)] in platform modules for FFI
# FFI-specific allows
doc_markdown = "allow"           # Technical terms like proc_pid_rusage
struct_field_names = "allow"     # FFI structs must match C field names (ri_, pti_ prefixes)
cast_possible_wrap = "allow"     # FFI sizes are known to be small
ptr_as_ptr = "allow"             # FFI pointer casts
manual_let_else = "allow"        # Style preference
implicit_hasher = "allow"        # HashMap generics
similar_names = "allow"          # cutime_ticks vs cstime_ticks in linux.rs
redundant_closure_for_method_calls = "allow"  # Closure syntax is clearer

[dependencies]
libc.workspace = true

[dev-dependencies]
criterion = "0.8"
sysinfo = "0.37"

[[bench]]
name = "cpu_measurement"
harness = false