[malachite](https://www.malachite.rs/) is an arbitrary precision crate that unlike num_bigint implement as small integer optimization. This avoids allocating a `Vec` for every single number parse and instead only allocates for rare unusually large numbers. This is also a correctness improvement since we'd previously just ignore the higher parts of unreasonably large numbers. The disadvantage is that malachite is slow to compile.
37 lines
1.1 KiB
TOML
37 lines
1.1 KiB
TOML
[package]
|
|
name = "ruff_python_parser"
|
|
version = "0.0.0"
|
|
publish = false
|
|
authors = ["Charlie Marsh <charlie.r.marsh@gmail.com>", "RustPython Team"]
|
|
edition = { workspace = true }
|
|
rust-version = { workspace = true }
|
|
homepage = { workspace = true }
|
|
documentation = { workspace = true }
|
|
repository = { workspace = true }
|
|
license = { workspace = true }
|
|
build = "build.rs"
|
|
|
|
[lib]
|
|
|
|
[dependencies]
|
|
ruff_python_ast = { path = "../ruff_python_ast" }
|
|
ruff_text_size = { path = "../ruff_text_size" }
|
|
|
|
anyhow = { workspace = true }
|
|
is-macro = { workspace = true }
|
|
itertools = { workspace = true }
|
|
lalrpop-util = { version = "0.20.0", default-features = false }
|
|
malachite = { workspace = true }
|
|
unicode-ident = { workspace = true }
|
|
unicode_names2 = { version = "0.6.0", git = "https://github.com/youknowone/unicode_names2.git", rev = "4ce16aa85cbcdd9cc830410f1a72ef9a235f2fde" }
|
|
rustc-hash = { workspace = true }
|
|
static_assertions = "1.1.0"
|
|
|
|
[dev-dependencies]
|
|
insta = { workspace = true }
|
|
|
|
[build-dependencies]
|
|
anyhow = { workspace = true }
|
|
lalrpop = { version = "0.20.0", default-features = false, optional = true }
|
|
tiny-keccak = { version = "2", features = ["sha3"] }
|