ic-memory 0.26.2

Durable stable-memory allocation governance for Internet Computer canisters
Documentation
#:schema https://raw.githubusercontent.com/rust-lang/cargo/master/crates/cargo-util-schemas/manifest.schema.json

[package]
name = "ic-memory"
edition = "2024"
rust-version = "1.88.0"
version = "0.26.2"
license = "MIT"
authors = ["borovan <84897664+borovan@users.noreply.github.com>"]
description = "Durable stable-memory allocation governance for Internet Computer canisters"
readme = "README.md"
documentation = "https://docs.rs/ic-memory"
homepage = "https://github.com/dragginzgame/ic-memory"
repository = "https://github.com/dragginzgame/ic-memory"
keywords = ["ic-stable-structures", "memory-id", "registry", "canister", "icp"]
categories = ["wasm", "data-structures"]
publish = true
exclude = ["images/dont-overwrite.png"]

[workspace]
resolver = "3"
exclude = ["testing/runtime-qualification"]

[workspace.dependencies]
ciborium = "0.2.2"
# Constructors register hooks; the registry owns their execution phases.
ctor = { version = "1.0", default-features = false, features = ["std", "proc_macro"] }
ic-stable-structures = "=0.7.2"
serde = { version = "1.0", default-features = false, features = [
    "alloc",
    "derive",
] }
serde_json = "1.0"
thiserror = "2.0"
toml = "1.1.6"
trybuild = "1.0.121"

[dependencies]
ciborium.workspace = true
ctor.workspace = true
ic-stable-structures.workspace = true
serde.workspace = true
thiserror.workspace = true

[dev-dependencies]
serde_json.workspace = true
toml.workspace = true
trybuild.workspace = true

[[example]]
name = "composed_host"
path = "examples/composed_host.rs"
test = true

[[example]]
name = "repo-tool"
path = "examples/repo-tool.rs"
test = true

[[example]]
name = "wasm-core-size-probe"
path = "examples/wasm_core_size_probe.rs"
crate-type = ["cdylib"]

[[example]]
name = "wasm-diagnostics-size-probe"
path = "examples/wasm_diagnostics_size_probe.rs"
crate-type = ["cdylib"]

[[example]]
name = "wasm-key-only-size-probe"
path = "examples/wasm_key_only_size_probe.rs"
crate-type = ["cdylib"]

[[example]]
name = "wasm-admission-size-probe"
path = "examples/wasm_admission_size_probe.rs"
crate-type = ["cdylib"]

[[example]]
name = "wasm-runtime-integration-size-probe"
path = "examples/wasm_runtime_integration_size_probe.rs"
crate-type = ["cdylib"]

[[example]]
name = "wasm-io-qualification"
path = "examples/wasm_io_qualification.rs"
crate-type = ["cdylib"]

[profile.wasm-size]
inherits = "release"
opt-level = "z"
lto = "fat"
codegen-units = 1
panic = "abort"
strip = "symbols"

[lints.clippy]
all = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
nursery = { level = "warn", priority = -1 }

missing_const_for_fn = "warn"
missing_panics_doc = "warn"
must_use_candidate = "warn"
redundant_clone = "warn"
semicolon_if_nothing_returned = "warn"
uninlined_format_args = "warn"
use_self = "warn"

doc_markdown = "allow"
empty_line_after_doc_comments = "allow"
enum_variant_names = "allow"
missing_errors_doc = "allow"
module_inception = "allow"
module_name_repetitions = "allow"
needless_pass_by_value = "allow"
option_if_let_else = "allow"
significant_drop_tightening = "allow"
struct_field_names = "allow"
used_underscore_binding = "allow"
wildcard_imports = "allow"