[package]
name = "qsc_fir_transforms"

version.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
edition.workspace = true
license.workspace = true

[dependencies]
miette = { workspace = true }
thiserror = { workspace = true }
num-bigint = { workspace = true }
qsc_data_structures = { path = "../qsc_data_structures" }
qsc_fir = { path = "../qsc_fir" }
qsc_formatter = { path = "../qsc_formatter" }
qsc_frontend = { path = "../qsc_frontend", optional = true }
qsc_hir = { path = "../qsc_hir", optional = true }
qsc_lowerer = { path = "../qsc_lowerer" }
qsc_passes = { path = "../qsc_passes", optional = true }
rustc-hash = { workspace = true }

[features]
slow-proptest-tests = []
testutil = ["qsc_frontend", "qsc_hir", "qsc_passes"]

[dev-dependencies]
qsc_fir_transforms = { path = ".", features = ["testutil"] }
expect-test = { workspace = true }
indoc = { workspace = true }
proptest = { workspace = true }
qsc_codegen = { path = "../qsc_codegen" }
qsc_eval = { path = "../qsc_eval" }
qsc_frontend = { path = "../qsc_frontend" }
qsc_hir = { path = "../qsc_hir" }
qsc_partial_eval = { path = "../qsc_partial_eval" }
qsc_parse = { path = "../qsc_parse" }
qsc_passes = { path = "../qsc_passes" }
qsc_rca = { path = "../qsc_rca" }

[lints]
workspace = true

[lib]
doctest = false
