toml-spanner 0.4.0

High Performance Toml parser and deserializer that preserves span information with fast compile times.
Documentation
[service.fuzz]
cmd = [
    "cargo",
    "+nightly",
    "fuzz",
    "run",
    "--debug-assertions", # this is default but lets be explicit
    "-j",
    { var = "jobs" },
    { var = "$profile" },
]
# Make fuzz tests run slightly faster
env.RUSTFLAGS = "-C target-cpu=native"
profiles = ["datetime", "parse_compare_toml", "parse_value"]
var.jobs.default = "1"
var.jobs.description = "Number of job processes to spawn during fuzzing."
var.sanitizer.default = "address"

[action.test-coverage]
cmd = ["cargo", "+nightly", "llvm-cov", "-q", "--branch"]

[action.review-snapshots]
managed = false
cmd = ["cargo", "insta", "review", "--workspace"]

[action.build-docs]
cmd = ["cargo", "doc"]

[action.benchmark]
cmd = [
    "cargo",
    "+nightly",
    "run",
    "--release",
    { if.profile = "compile-time", then = [
        "--",
        "compile",
    ] },
]
pwd = "./benchmark"
profiles = ["runtime", "compile-time"]

[test.clippy]
cmd = ["cargo", "clippy", "--all-targets", "--", "--deny=warnings"]
tag = ["lint"]

[test.snapshot-tests]
cmd = ["cargo", "insta", "test", "-p", "snapshot-tests"]

[test.cargo-test]
cmd = ["cargo", "test"]

[test.miri-stress-tests]
pwd = "stress-tests"
cmd = ["cargo", "+nightly", "miri", "run", "--", "3"]
tag = ["slow", "miri"]

[test.stress-tests]
pwd = "stress-tests"
cmd = ["cargo", "run", "--", "5000"]

[test.miri-tests]
info = "Requires `cargo-nextest` and miri."
cmd = ["cargo", "+nightly", "miri", "nextest", "run"]
tag = ["slow", "miri"]

[test.miri-tests-32bit]
cmd = [
    "cargo",
    "+nightly",
    "miri",
    "nextest",
    "run",
    "-p",
    "toml-spanner",
    "--lib",
    "--target",
    "i686-unknown-linux-gnu",
]
info = "Requires `cargo-nextest` and miri."
tag = ["slow", "miri"]

[test.official-toml-test-suite]
info = """
Validate toml-spanner against https://github.com/toml-lang/toml-test decoder test suite
Requires `toml-test` to be installed, see REPO for installation procedure.
"""
pwd = "toml-test-harness"
sh = '''
BIN=$(cargo --config "target.'cfg(unix)'.runner = 'echo'" run --release || exit 1)
toml-test test -toml 1.1 "-decoder=$BIN"
'''

[test.typos]
cmd = "typos"