[package]
name = "fandango"
description = "An extremely performant, compiler-optimizable form of Fandango for high-complexity input languages."
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
[dependencies]
fandango-core.workspace = true
fandango-derive = { workspace = true, default-features = false }
pest.workspace = true
pest_derive.workspace = true
tuple_list.workspace = true
[dev-dependencies]
rand = { workspace = true, features = ["default"] }
[profile.release]
codegen-units = 1
lto = true
[profile.bench]
inherits = "release"
debug = true
opt-level = 3
[profile.bench-noopt]
inherits = "dev"
debug-assertions = false
overflow-checks = false
[lints]
workspace = true
[workspace]
members = [
".",
"core",
"derive",
"targets",
"generator",
"runtime",
"baselines",
"baselines/analysis",
"baselines/common",
"baselines/csv",
"baselines/rest",
"baselines/scriptsizec",
"baselines/xml",
]
default-members = [
".", "core", "derive", "targets", "generator", "runtime"
]
resolver = "3"
[workspace.package]
version = "0.1.0"
edition = "2024"
authors = ["The fandango-rs developers"]
license = "EUPL-1.2"
repository = "https://github.com/fandango-fuzzer/fandango-rs"
[workspace.dependencies]
fandango = { path = ".", version = "0.1.0" }
fandango-core = { path = "core", version = "0.1.0" }
fandango-derive = { path = "derive", version = "0.1.0", default-features = false }
fandango-generator = { path = "generator", version = "0.1.0" }
anyhow = { version = "1.0", default-features = false }
criterion = { version = "0.7.0", features = ["html_reports"] }
either = { version = "1.13", default-features = false }
embedded-io = { version = "0.6.1", features = ["alloc"] }
foldhash = { version = "0.2.0", default-features = false }
hashbrown = "0.16.0"
libafl = { version = "0.15.3", default-features = false }
libafl_bolts = { version = "0.15.3", default-features = false }
linfa = "0.7.1"
linfa-linear = "0.7.1"
mappable-rc = { version = "0.1.1", default-features = false }
ndarray = "0.15.6"
num-integer = { version = "0.1.46", default-features = false }
num-rational = { version = "0.4.2", default-features = false }
num-traits = { version = "0.2.19", default-features = false }
pest = { version = "2.7", default-features = false }
pest_derive = { version = "2.7", default-features = false }
pest_generator = { version = "2.7", default-features = false }
petgraph = { version = "0.8.1", default-features = false }
proc-macro2 = "1.0"
quote = "1.0"
rand = { version = "0.9.0", default-features = false }
serde = { version = "1.0", default-features = false }
serde_json = "1.0"
syn = "2.0"
tuple_list = "0.1.3"
[workspace.lints.rust]
bindings_with_variant_name = "allow"
type_alias_bounds = "allow"
missing_docs = "warn"
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(no_opt_indirect)'] }
[workspace.lints.clippy]
pedantic = "warn"