pinapod 0.4.2

Zero-copy pod types with derive macros. Alignment-1 representations for zero-overhead data access.
Documentation
# 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.89.0"
name = "pinapod"
version = "0.4.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Zero-copy pod types with derive macros. Alignment-1 representations for zero-overhead data access."
readme = "README.md"
keywords = [
    "no-std",
    "pod",
    "serialization",
    "zero-copy",
]
license = "Apache-2.0"
repository = "https://github.com/pina-rs/pinapod"

[features]
default = []
fixed = ["dep:fixed"]
floats = []
kani = []
solana-address = ["dep:solana-address"]
solana-program-error = ["dep:solana-program-error"]
wincode = ["dep:wincode"]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[[bench]]
name = "api_comparison"
path = "benches/api_comparison.rs"
harness = false

[dependencies.fixed]
version = "=1.30.0"
optional = true
default-features = false

[dependencies.pinapod-derive]
version = "=0.4.2"

[dependencies.solana-address]
version = ">=2.2, <2.7"
features = ["copy"]
optional = true
default-features = false

[dependencies.solana-program-error]
version = ">=3.0, <4.0"
optional = true
default-features = false

[dependencies.wincode]
version = "^0.6.1"
features = ["derive"]
optional = true
default-features = false

[dev-dependencies.criterion]
version = "^0.8.2"
default-features = true

[dev-dependencies.pinapod_previous]
version = "0.1.0"
package = "pinapod"

[dev-dependencies.stats_alloc]
version = "^0.1.10"
default-features = true

[dev-dependencies.trybuild]
version = "^1"
default-features = true

[dev-dependencies.zeropod]
version = "0.3.5"
default-features = true

[lints.clippy]
blocks_in_conditions = "allow"
cargo_common_metadata = "allow"
cast_possible_truncation = "allow"
cast_possible_wrap = "allow"
cast_precision_loss = "allow"
cast_sign_loss = "allow"
expl_impl_clone_on_copy = "allow"
items_after_statements = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
no_effect_underscore_binding = "allow"
tabs_in_doc_comments = "allow"
too_many_lines = "allow"
used_underscore_items = "allow"
wildcard_dependencies = "deny"
wildcard_imports = "allow"

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

[lints.clippy.correctness]
level = "deny"
priority = -1

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

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

[lints.clippy.style]
level = "warn"
priority = -1

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

[lints.rust]
edition_2024_expr_fragment_specifier = "allow"
missing_docs = "deny"
unsafe_code = "deny"
unsafe_op_in_unsafe_fn = "deny"
unstable_features = "deny"
unused_extern_crates = "warn"
unused_import_braces = "warn"
unused_lifetimes = "warn"
unused_macro_rules = "warn"
unused_qualifications = "warn"
variant_size_differences = "warn"

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

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

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
    "cfg(coverage)",
    "cfg(fuzzing)",
    "cfg(kani)",
    'cfg(target_os, values("solana"))',
    'cfg(target_feature, values("static-syscalls"))',
]

[lints.rustdoc]
invalid_markdown_table = "allow"