[package]
edition = "2024"
rust-version = "1.91.1"
name = "mago-codex"
version = "1.2.2"
authors = ["Saif Eddin Gmati <azjezz@carthage.software>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "PHP type system representation, comparison logic, and codebase metadata for static analysis."
homepage = "https://mago.carthage.software"
readme = false
license = "MIT OR Apache-2.0"
repository = "https://github.com/carthage-software/mago"
[lib]
name = "mago_codex"
path = "src/lib.rs"
[[bench]]
name = "combiner"
path = "benches/combiner.rs"
harness = false
[[bench]]
name = "comparator"
path = "benches/comparator.rs"
harness = false
[[bench]]
name = "expander"
path = "benches/expander.rs"
harness = false
[dependencies.ahash]
version = "0.8"
features = [
"compile-time-rng",
"std",
]
default-features = false
[dependencies.bitflags]
version = "2.9.1"
features = ["serde"]
[dependencies.bumpalo]
version = "3"
features = [
"collections",
"serde",
]
[dependencies.derivative]
version = "2.2.0"
[dependencies.indexmap]
version = "2.8.0"
features = ["serde"]
[dependencies.itertools]
version = "0.14.0"
[dependencies.mago-atom]
version = "1.2.2"
[dependencies.mago-database]
version = "1.2.2"
[dependencies.mago-docblock]
version = "1.2.2"
[dependencies.mago-fingerprint]
version = "1.2.2"
[dependencies.mago-names]
version = "1.2.2"
[dependencies.mago-reporting]
version = "1.2.2"
[dependencies.mago-span]
version = "1.2.2"
[dependencies.mago-syntax]
version = "1.2.2"
[dependencies.mago-type-syntax]
version = "1.2.2"
[dependencies.ordered-float]
version = "5.0"
features = ["serde"]
default-features = false
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.strum]
version = "0.27"
features = ["derive"]
[dependencies.tracing]
version = "0.1.40"
[dev-dependencies.criterion]
version = "0.8.1"
[lints.clippy.dbg_macro]
level = "forbid"
priority = 0
[lints.clippy.large_enum_variant]
level = "allow"
priority = 0
[lints.clippy.print_stderr]
level = "forbid"
priority = 0
[lints.clippy.print_stdout]
level = "forbid"
priority = 0