dataport 0.1.0

Port abstractions for data types
Documentation
# Copyright © 2025 Stephan Kunz
[package]
resolver = "3"
name = "dataport"
version = "0.1.0"
edition = "2024"
rust-version = "1.95.0"
license-file = "LICENSE"
authors = ["stepkun <stephan.kunz@kabelbw.de>"]
description = "Port abstractions for data types"
repository = "https://codeberg.org/dibbots/dataport.git"
homepage = "https://dibbots.com/"
documentation = "https://docs.rs/dataport"
readme = "README.md"
categories = ["development-tools"]
exclude = [
    "laze*",
    "benches/**",
    "coverage/**",
    "embedded/**",
    "examples/**",
    "tests/**",
]

[lib]
name = "dataport"

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

[features]
default = ["std"]
std = ["embassy-sync/std", "spin/std", "thiserror/std"]

[dependencies]
dataport-macros = { path = "macros", version = "0.1" }
embassy-sync = { version = "0.8", default-features = false }
portable-atomic-util = { version = "0.2", default-features = false, features = [
    "alloc",
] }
spin = { version = "0.12", default-features = false, features = [
    #"fair_mutex",
    "portable-atomic",
    "rwlock",
    "use_ticket_mutex",
] }
thiserror = { version = "2", default-features = false }

[build-dependencies]

[dev-dependencies]
criterion = "0.8"
doc-comment = "0.3.4"

[profile.release]
opt-level = 's'        # Optimize for size.
lto = true             # Enable Link Time Optimisation
codegen-units = 1      # Reduced to increase optimisations
overflow-checks = true # useful

[profile.production]
inherits = "release"
panic = 'abort'      # Abort on panic
strip = "symbols"    # Strip symbols from binary

[profile.samply]
inherits = "release"
debug = true         # Create debug symbols for profiling