[package] name = "kodept" version = "0.2.3" edition = "2021" authors = ["Владимир Никитин "] description = "Simple compiler with dependent types support in mind" repository = "https://github.com/ITesserakt/Kodept/" categories = ["compilers"] license = "Apache-2.0" rust-version = "1.75.0" [workspace] members = [ ".", "crates/kodept-core", "crates/kodept-parse", "crates/kodept-inference", "crates/kodept-ast", "crates/kodept-macros", "crates/kodept-interpret", "crates/slotgraph"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [workspace.dependencies] nom = "7.1" thiserror = "1.0" extend = "1.2" itertools = "0.13" id_tree = "1.8.0" tracing = "0.1.40" [workspace.dependencies.derive_more] version = "1.0.0-beta.7" features = ["display", "into", "from", "deref", "deref_mut", "constructor", "try_into", "is_variant", "unwrap"] [workspace.lints] clippy.suspicious = "deny" clippy.correctness = "deny" clippy.complexity = "warn" clippy.style = "warn" clippy.perf = "warn" rust.unsafe_code = "deny" [dependencies] anyhow = "1" clap = { version = "4.5", features = ["derive", "env"] } codespan-reporting = "0.11.1" derive_more.workspace = true dhat = { version = "0.3", optional = true } extend.workspace = true gag = { version = "1.0.0", optional = true } itertools.workspace = true rayon = { version = "1.10.0", optional = true } replace_with = "0.1.7" thiserror.workspace = true tracing.workspace = true tracing-subscriber = { version = "0.3.17", default-features = false, features = ["fmt", "ansi"] } [dependencies.kodept-core] path = "crates/kodept-core" version = "0.2" [dependencies.kodept-parse] path = "crates/kodept-parse" features = ["peg"] version = "0.3" [dependencies.kodept-ast] path = "crates/kodept-ast" version = "0.4" [dependencies.kodept-macros] path = "crates/kodept-macros" version = "0.1" [dependencies.kodept-interpret] path = "crates/kodept-interpret" version = "0.1" [dev-dependencies] tempfile = "3.7.0" insta = "1.39.0" kodept-inference = { path = "crates/kodept-inference", version = "0.2" } [features] profiler = ["dep:dhat"] parallel = ["dep:rayon", "kodept-parse/parallel"] trace = ["dep:gag", "kodept-parse/trace", "kodept-parse/pest"] [profile.profiler] debug = true inherits = "release" [profile.bench] opt-level = 3 [profile.release] opt-level = 3 lto = true panic = "abort" strip = true [profile.dev] opt-level = 0 debug = true panic = 'unwind' rpath = false