# 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"
rust-version = "1.85.1"
name = "bump-scope"
version = "1.1.0"
build = false
exclude = [
    "*.nu",
    "justfile",
    "tests",
    ".vscode",
    ".github",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A fast bump allocator that supports allocation scopes / checkpoints. Aka an arena for values of arbitrary types."
documentation = "https://docs.rs/bump-scope"
readme = "README.md"
keywords = [
    "allocator",
    "arena",
    "no-std",
    "bump",
    "allocation",
]
categories = [
    "memory-management",
    "no-std",
    "no-std::no-alloc",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/bluurryy/bump-scope"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--generate-link-to-definition"]

[package.metadata.release]
allow-branch = ["main"]
pre-release-hook = [
    "just",
    "pre-release",
]
pre-release-commit-message = "release: version {{version}}"

[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
search = '## \[Unreleased\]'
replace = "## [{{version}}] - {{date}}"
exactly = 1

[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
search = '\[Unreleased\]: .*'
replace = "[{{version}}]: https://github.com/bluurryy/bump-scope/releases/tag/v{{version}}"

[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
search = "#Unreleased"
replace = "#{{version}}"
min = 0

[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
search = "<!-- next-url -->"
replace = """
<!-- next-url -->
[Unreleased]: https://github.com/bluurryy/cargo-insert-docs/compare/{{tag_name}}...HEAD"""
exactly = 1

[[package.metadata.release.pre-release-replacements]]
file = "UPGRADING.md"
search = '## \[Unreleased\]'
replace = "## [{{version}}] - {{date}}"
min = 0

[[package.metadata.release.pre-release-replacements]]
file = "UPGRADING.md"
search = '\[Unreleased\]: .*'
replace = "[{{version}}]: CHANGELOG.md#{{version}}"
min = 0

[[package.metadata.release.pre-release-replacements]]
file = "UPGRADING.md"
search = "#Unreleased"
replace = "#{{version}}"
min = 0

[features]
alloc = [
    "allocator-api2-02?/alloc",
    "allocator-api2-03?/alloc",
]
allocator-api2-02 = ["dep:allocator-api2-02"]
allocator-api2-03 = ["dep:allocator-api2-03"]
bytemuck = ["dep:bytemuck"]
default = [
    "std",
    "alloc",
    "panic-on-alloc",
]
nightly = [
    "nightly-allocator-api",
    "nightly-coerce-unsized",
    "nightly-exact-size-is-empty",
    "nightly-trusted-len",
    "nightly-fn-traits",
    "nightly-tests",
    "nightly-dropck-eyepatch",
    "nightly-clone-to-uninit",
]
nightly-allocator-api = ["allocator-api2-02/nightly"]
nightly-clone-to-uninit = []
nightly-coerce-unsized = []
nightly-dropck-eyepatch = []
nightly-exact-size-is-empty = []
nightly-fn-traits = []
nightly-tests = []
nightly-trusted-len = []
panic-on-alloc = []
serde = ["dep:serde"]
std = [
    "alloc",
    "allocator-api2-02?/std",
    "allocator-api2-03?/std",
]
zerocopy-08 = ["dep:zerocopy-08"]

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

[dependencies.allocator-api2-02]
version = "0.2.21"
optional = true
default-features = false
package = "allocator-api2"

[dependencies.allocator-api2-03]
version = "0.3.0"
optional = true
default-features = false
package = "allocator-api2"

[dependencies.bytemuck]
version = "1.23.0"
optional = true
default-features = false

[dependencies.serde]
version = "1.0.217"
optional = true

[dependencies.zerocopy-08]
version = "0.8.14"
optional = true
default-features = false
package = "zerocopy"

[dev-dependencies.expect-test]
version = "1.4.1"

[dev-dependencies.rayon]
version = "1.10.0"

[dev-dependencies.serde_json]
version = "1.0.115"

[dev-dependencies.trybuild]
version = "1.0.90"
