[package]
edition = "2024"
rust-version = "1.95"
name = "solar-parse"
version = "0.2.0"
authors = ["DaniPopes <57450786+DaniPopes@users.noreply.github.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Solidity and Yul lexer and parser"
homepage = "https://github.com/paradigmxyz/solar/tree/main/crates/parse"
readme = "README.md"
keywords = [
"ethereum",
"solidity",
"solc",
"crypto",
"compiler",
]
categories = [
"compilers",
"cryptography",
"cryptography::cryptocurrencies",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/paradigmxyz/solar"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"-Zunstable-options",
"--generate-link-to-definition",
"--show-type-layout",
]
[features]
nightly = [
"solar-ast/nightly",
"solar-interface/nightly",
]
[lib]
name = "solar_parse"
path = "src/lib.rs"
[dependencies.alloy-primitives]
version = "1.3"
[dependencies.bitflags]
version = "2.4"
[dependencies.bumpalo]
version = "3.14"
[dependencies.itertools]
version = ">=0.10, <=0.14"
[dependencies.memchr]
version = "2.7"
[dependencies.num-bigint]
version = "0.4"
[dependencies.num-rational]
version = "0.4"
[dependencies.num-traits]
version = "0.2"
[dependencies.ruint]
version = "1.16"
features = ["num-integer"]
[dependencies.smallvec]
version = "1"
features = [
"const_generics",
"union",
]
[dependencies.solar-ast]
version = "=0.2.0"
default-features = false
[dependencies.solar-data-structures]
version = "=0.2.0"
default-features = false
[dependencies.solar-interface]
version = "=0.2.0"
default-features = false
[dependencies.tracing]
version = "0.1"
[dev-dependencies.snapbox]
version = "1.2"
features = ["json"]
[lints.clippy]
dbg-macro = "warn"
manual-string-new = "warn"
redundant-clone = "warn"
test-attr-in-doctest = "allow"
uninlined-format-args = "warn"
use-self = "warn"
[lints.rust]
redundant-lifetimes = "warn"
rust-2018-idioms = "warn"
unnameable-types = "warn"
unreachable-pub = "warn"
unused-crate-dependencies = "warn"
unused-must-use = "warn"
[lints.rustdoc]
all = "warn"