[package]
edition = "2024"
name = "stak"
version = "0.12.16"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Stak Scheme interpreter"
readme = "README.md"
keywords = [
"interpreter",
"language",
"scheme",
]
categories = [
"compilers",
"no-std",
"no-std::no-alloc",
"wasm",
]
license = "MIT"
repository = "https://github.com/raviqqe/stak"
[features]
alloc = [
"dep:stak-dynamic",
"dep:stak-engine",
]
async = [
"stak-build/async",
"stak-device/async",
"stak-dynamic/async",
"stak-engine/async",
"stak-file/async",
"stak-process-context/async",
"stak-r7rs/async",
"stak-time/async",
"stak-vm/async",
]
default = [
"float",
"std",
]
float = [
"stak-sac/float",
"stak-vm/float",
]
float62 = [
"stak-sac/float",
"stak-vm/float62",
]
hot-reload = ["stak-macro/hot-reload"]
libc = [
"stak-device/libc",
"stak-engine/libc",
"stak-file/libc",
"stak-process-context/libc",
"stak-sac/libc",
"stak-time/libc",
]
std = [
"alloc",
"stak-device/std",
"stak-engine/std",
"stak-file/std",
"stak-process-context/std",
"stak-sac/std",
"stak-time/std",
]
[lib]
name = "stak"
path = "src/lib.rs"
[[bin]]
name = "stak"
path = "src/main.rs"
required-features = ["std"]
[dependencies.stak-device]
version = "0.12.16"
[dependencies.stak-dynamic]
version = "0.12.16"
optional = true
[dependencies.stak-engine]
version = "0.12.16"
optional = true
[dependencies.stak-file]
version = "0.12.16"
[dependencies.stak-macro]
version = "0.12.16"
[dependencies.stak-module]
version = "0.12.16"
[dependencies.stak-process-context]
version = "0.12.16"
[dependencies.stak-r7rs]
version = "0.12.16"
[dependencies.stak-sac]
version = "0.12.16"
[dependencies.stak-time]
version = "0.12.16"
[dependencies.stak-vm]
version = "0.12.16"
[dev-dependencies.any-fn]
version = "0.6.3"
[dev-dependencies.rand]
version = "0.10.1"
[build-dependencies.stak-build]
version = "0.12.16"
[lints.clippy]
alloc_instead_of_core = "deny"
cargo = "deny"
complexity = "deny"
correctness = "deny"
dbg_macro = "deny"
derive_partial_eq_without_eq = "deny"
equatable_if_let = "deny"
explicit_deref_methods = "deny"
if_not_else = "deny"
manual_let_else = "deny"
missing_const_for_fn = "deny"
missing_panics_doc = "deny"
perf = "deny"
std_instead_of_alloc = "deny"
std_instead_of_core = "deny"
style = "deny"
suspicious = "deny"
todo = "deny"
undocumented_unsafe_blocks = "deny"
unimplemented = "deny"
uninlined_format_args = "deny"
unnecessary_safety_comment = "deny"
unused_self = "deny"
use_self = "deny"
[lints.clippy.multiple_crate_versions]
level = "allow"
priority = 1
[lints.rust]
missing_docs = "deny"
warnings = "deny"
[profile.dev]
opt-level = 3
lto = true
codegen-units = 1
panic = "abort"
strip = true
[profile.dev.build-override]
opt-level = 3
debug-assertions = false
overflow-checks = false
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
panic = "abort"
strip = true
[profile.release.build-override]
opt-level = 3
debug-assertions = false
overflow-checks = false