[package]
edition = "2024"
name = "frontend"
version = "0.4.1"
build = "build.rs"
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"]
rustc = []
[lib]
name = "frontend"
path = "src/lib.rs"
[[bin]]
name = "frontend-facts"
path = "src/bin/frontend_facts.rs"
[[example]]
name = "parse_setup_cost"
path = "examples/parse_setup_cost.rs"
[[test]]
name = "facts"
path = "tests/facts.rs"
[[test]]
name = "syntax"
path = "tests/syntax.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.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.2.0"
optional = true
package = "frontend_macros"
[dependencies.serde]
version = "1.0.219"
features = [
"alloc",
"derive",
]
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.quickcheck]
version = "1"
[dev-dependencies.rustc_hash_std]
version = "1.1.0"
package = "rustc-hash"
[profile.release]
debug = 0
incremental = false