Files
awk/Cargo.toml
T
2026-05-25 01:50:22 +02:00

132 lines
4.0 KiB
TOML

[package]
name = "uu_awk"
version.workspace = true
edition.workspace = true
license.workspace = true
[[bin]]
name = "awk"
path = "src/main.rs"
[workspace.package]
version = "0.1.0"
license = "MIT OR Apache-2.0"
edition = "2024"
[workspace]
resolver = "3"
members = ["interpreter","lexer", "parser"]
[workspace.dependencies]
lexer.path = "./lexer"
parser.path = "./parser"
interpreter.path = "./interpreter"
color-eyre = "0.6.5"
either = "1.15.0"
memchr = "2.8.0"
thiserror = "2.0.18"
tracing = "0.1.44"
smallvec = { version = "1.15.1", features = ["union", "const_generics", "const_new"] }
bumpalo = { version = "3.20.2", features = ["boxed", "collections", "std", "allocator-api2"] }
hashbrown = "0.17.0"
allocator-api2 = "0.4.0"
ahash = "0.8.12"
[dependencies]
interpreter.workspace = true
parser.workspace = true
color-eyre.workspace = true
either.workspace = true
memchr.workspace = true
thiserror.workspace = true
tracing.workspace = true
bumpalo.workspace = true
tracing-subscriber = { version = "0.3.23", features = ["env-filter"] }
tracing-error = "0.2.1"
clap = { version = "4.6.1", features = ["derive"] }
[dev-dependencies]
ctor = "1.0"
uutests = "0.8"
[profile.release]
lto = true
panic = "abort"
codegen-units = 1
debug = true
# A release-like profile that is as small as possible.
[profile.release-small]
inherits = "release"
opt-level = "z"
strip = true
# A release-like profile with debug info for profiling.
# See https://github.com/mstange/samply .
[profile.profiling]
inherits = "release"
panic = "unwind"
debug = true
[lints]
workspace = true
# This is the linting configuration for all crates.
# In order to use these, all crates have `[lints] workspace = true` section.
[workspace.lints.rust]
# Allow "fuzzing" as a "cfg" condition name and "cygwin" as a value for "target_os"
# https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html
unexpected_cfgs = { level = "warn", check-cfg = [
'cfg(fuzzing)',
'cfg(target_os, values("cygwin"))',
'cfg(wasi_runner)',
] }
unused_qualifications = "warn"
[workspace.lints.clippy]
# The counts were generated with this command:
# cargo clippy --all-targets --workspace --message-format=json --quiet \
# | jq -r '.message.code.code | select(. != null and startswith("clippy::"))' \
# | sort | uniq -c | sort -h -r
#
all = { level = "warn", priority = -1 }
cargo = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
print_stdout = "warn" # restriction: forbid print/println macros
print_stderr = "warn" # restriction: forbid eprint/eprintln macros
use_self = "warn" # nursery lint
cargo_common_metadata = "allow" # 3240
multiple_crate_versions = "allow" # 2882
missing_errors_doc = "allow" # 1572
missing_panics_doc = "allow" # 946
must_use_candidate = "allow" # 322
match_same_arms = "allow" # 204
cast_possible_truncation = "allow" # 122
too_many_lines = "allow" # 101
cast_possible_wrap = "allow" # 78
cast_sign_loss = "allow" # 70
struct_excessive_bools = "allow" # 68
cast_precision_loss = "allow" # 52
cast_lossless = "allow" # 35
ignored_unit_patterns = "allow" # 21
similar_names = "allow" # 20
needless_pass_by_value = "allow" # 16
float_cmp = "allow" # 12
items_after_statements = "allow" # 11
return_self_not_must_use = "allow" # 8
inline_always = "allow" # 6
fn_params_excessive_bools = "allow" # 6
used_underscore_items = "allow" # 2
should_panic_without_expect = "allow" # 2
doc_markdown = "allow"
unused_self = "allow"
enum_glob_use = "allow"
unnested_or_patterns = "allow"
implicit_hasher = "allow"
doc_link_with_quotes = "allow"
format_push_string = "allow"
flat_map_option = "allow"
from_iter_instead_of_collect = "allow"
large_types_passed_by_value = "allow"