[package]
edition = "2024"
rust-version = "1.85"
name = "zust-vm"
version = "0.9.86"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Cranelift JIT runtime for executing Zust modules."
homepage = "https://www.zust-lang.com"
readme = false
keywords = [
"zust",
"jit",
"runtime",
]
categories = [
"compilers",
"development-tools",
]
license = "Apache-2.0"
repository = "https://github.com/zhuchuanjing/zust"
resolver = "2"
[features]
candle = [
"dep:llm",
"llm/candle",
]
db = [
"dep:sqlx-core",
"dep:sqlx-mysql",
"dep:sqlx-postgres",
"dep:tokio",
]
default = []
full = [
"http",
"db",
"llm",
"candle",
"gpu",
]
gpu = [
"dep:vm-spirv",
"dep:vm-metal",
]
http = [
"dep:axum",
"dep:futures-util",
"dep:reqwest",
"dep:tokio",
"dep:tower-http",
]
ir-disassembly = []
iroh = ["root/iroh"]
llm = [
"dep:llm",
"dep:tokio",
]
metal = [
"gpu",
"vm-metal/runtime",
]
vulkan = [
"gpu",
"dep:vulkan",
"dep:vulkano",
]
[lib]
name = "vm"
path = "src/lib.rs"
[[example]]
name = "memory_leak_probe"
path = "examples/memory_leak_probe.rs"
[[example]]
name = "minimal_vm"
path = "examples/minimal_vm.rs"
[[example]]
name = "vm_bug_repro"
path = "examples/vm_bug_repro.rs"
[dependencies.anyhow]
version = "1.0.102"
[dependencies.axum]
version = "0.8.9"
features = ["ws"]
optional = true
[dependencies.bytemuck]
version = "1.25.0"
[dependencies.chrono]
version = "0.4.42"
features = [
"clock",
"std",
]
default-features = false
[dependencies.compiler]
version = "0.9.41"
package = "zust-compiler"
[dependencies.cranelift]
version = "0.131.1"
[dependencies.cranelift-jit]
version = "0.131.1"
[dependencies.cranelift-module]
version = "0.131.1"
[dependencies.dynamic]
version = "0.9.18"
package = "zust-dynamic"
[dependencies.futures-util]
version = "0.3.32"
optional = true
[dependencies.llm]
version = "0.9.18"
optional = true
package = "zust-llm"
[dependencies.log]
version = "0.4.29"
[dependencies.parking_lot]
version = "0.12.3"
[dependencies.parser]
version = "0.9.22"
package = "zust-parser"
[dependencies.rand]
version = "0.10.1"
[dependencies.reqwest]
version = "0.13.3"
optional = true
[dependencies.root]
version = "0.9.10"
package = "zust-root"
[dependencies.smol_str]
version = "0.3.6"
[dependencies.sqlx-core]
version = "0.8.6"
features = [
"_rt-tokio",
"_tls-rustls-ring-webpki",
"any",
]
optional = true
default-features = false
[dependencies.sqlx-mysql]
version = "0.8.6"
features = ["any"]
optional = true
default-features = false
[dependencies.sqlx-postgres]
version = "0.8.6"
features = ["any"]
optional = true
default-features = false
[dependencies.thiserror]
version = "2.0.18"
[dependencies.tokio]
version = "1.52.3"
features = ["full"]
optional = true
[dependencies.tower-http]
version = "0.6.10"
features = [
"cors",
"fs",
]
optional = true
[dependencies.uuid]
version = "1.23.1"
features = ["v4"]
[dependencies.vm-spirv]
version = "0.9.9"
optional = true
package = "zust-vm-spirv"
[dependencies.vulkan]
version = "0.9.4"
optional = true
package = "zust-vulkan"
[dependencies.vulkano]
version = "0.35.2"
optional = true
[dev-dependencies.num-bigint]
version = "0.4.6"
[dev-dependencies.num-traits]
version = "0.2.19"
[target.'cfg(target_os = "macos")'.dependencies.vm-metal]
version = "0.9.11"
optional = true
default-features = false
package = "zust-vm-metal"