frontend 0.5.0

rustc's frontend with no LLVM and no std: parsing through MIR, as a library
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "frontend"
version = "0.5.0"
build = "build.rs"
exclude = ["tools/"]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "rustc's frontend with no LLVM and no std: parsing through MIR, as a library"
readme = "README.md"
license = "Apache-2.0 OR MIT"
repository = "https://github.com/pathscale/frontend"

[features]
default = [
    "nightly",
    "rustc",
]
diagnostics = []
force_pinned_sysroot = []
nightly = ["dep:rustc_macros"]
parallel = ["dep:nagoya"]
rustc = []

[lib]
name = "frontend"
path = "src/lib.rs"

[[bin]]
name = "frontend-facts"
path = "src/bin/frontend_facts.rs"

[[example]]
name = "parallel_timing"
path = "examples/parallel_timing.rs"

[[example]]
name = "parse_setup_cost"
path = "examples/parse_setup_cost.rs"

[[test]]
name = "crate_on_disk"
path = "tests/crate_on_disk.rs"

[[test]]
name = "dependencies"
path = "tests/dependencies.rs"

[[test]]
name = "facts"
path = "tests/facts.rs"

[[test]]
name = "parallel"
path = "tests/parallel.rs"

[[test]]
name = "syntax"
path = "tests/syntax.rs"

[[test]]
name = "unwind"
path = "tests/unwind.rs"

[dependencies.arrayvec]
version = "^0.7.8"
default-features = false

[dependencies.bitflags]
version = "2.9.1"

[dependencies.blake3]
version = "1.8.2"
default-features = false

[dependencies.cfg-if]
version = "1.0.0"
default-features = false

[dependencies.derive-where]
version = "1.6.1"

[dependencies.derive_setters]
version = "0.1.6"

[dependencies.either]
version = "^1.18.0"
default-features = false

[dependencies.ekostd]
version = "0.2.2"
features = ["serde"]

[dependencies.frontend_arena]
version = "0.2.0"

[dependencies.frontend_diag_template]
version = "0.1.1"

[dependencies.hashbrown]
version = "0.17.0"
features = ["default-hasher"]
default-features = false

[dependencies.indexmap]
version = "2.14.0"
default-features = false

[dependencies.itertools]
version = "^0.15.0"
features = ["use_alloc"]
default-features = false

[dependencies.itoa]
version = "^1.0.18"

[dependencies.libc]
version = "^0.2.189"
default-features = false

[dependencies.libm]
version = "^0.2.16"

[dependencies.log]
version = "0.4"
default-features = false

[dependencies.md5]
version = "0.10.0"
default-features = false
package = "md-5"

[dependencies.memchr]
version = "2.7.6"
features = ["alloc"]
default-features = false

[dependencies.nagoya]
version = "^0.1.14"
optional = true

[dependencies.object]
version = "0.39.1"
features = [
    "read_core",
    "archive",
    "elf",
    "macho",
    "pe",
    "xcoff",
    "unaligned",
]
default-features = false

[dependencies.parking_lot]
version = "^0.12.7"
default-features = false
package = "parking_lot_lite_hack"

[dependencies.rand]
version = "0.9.0"
default-features = false

[dependencies.rand_xoshiro]
version = "0.7.0"

[dependencies.rustc-demangle]
version = "0.1.28"

[dependencies.rustc-hash]
version = "2.0.0"
default-features = false

[dependencies.rustc-literal-escaper]
version = "0.0.8"

[dependencies.rustc_apfloat]
version = "0.2.3"

[dependencies.rustc_macros]
version = "0.3.0"
optional = true
package = "frontend_macros"

[dependencies.serde]
version = "1.0.219"
features = [
    "alloc",
    "derive",
    "rc",
]
default-features = false

[dependencies.serde_derive]
version = "1.0.219"

[dependencies.serde_json]
version = "1.0.59"
features = ["alloc"]
default-features = false

[dependencies.serde_path_to_error]
version = "0.1.17"

[dependencies.sha1]
version = "0.10.0"
default-features = false

[dependencies.sha2]
version = "0.10.1"
default-features = false

[dependencies.smallvec]
version = "1.8.1"
features = ["union"]

[dependencies.thin-vec]
version = "0.2.19"
default-features = false

[dependencies.tracing]
version = "^0.1.44"
features = ["attributes"]
default-features = false

[dependencies.tracing-core]
version = "0.1.34"
default-features = false

[dependencies.unicode-ident]
version = ">=1.0.22, <1.0.25"

[dependencies.unicode-normalization]
version = "0.1.25"
default-features = false

[dependencies.unicode-properties]
version = "0.1.4"
features = ["emoji"]
default-features = false

[dependencies.unicode-security]
version = "0.1.0"

[dependencies.unicode-width]
version = "0.2.2"

[dev-dependencies.expect-test]
version = "1.4.0"

[dev-dependencies.mimalloc]
version = "^0.1"
default-features = false

[dev-dependencies.nagoya]
version = "^0.1.14"

[dev-dependencies.ps-st3]
version = "^0.6"
features = ["fanout"]
default-features = false

[dev-dependencies.quickcheck]
version = "1"

[dev-dependencies.rustc_hash_std]
version = "1.1.0"
package = "rustc-hash"

[profile.release]
debug = 0
incremental = false