mirror of
https://github.com/logos-co/nomos-node.git
synced 2026-08-27 09:31:10 +00:00
453 lines
31 KiB
TOML
453 lines
31 KiB
TOML
[workspace.package]
|
|
categories = ["cryptography", "cryptography::cryptocurrencies", "security"]
|
|
description = "Logos blockchain workspace crates. For more information please visit https://logos.co/."
|
|
edition = "2024"
|
|
keywords = ["blockchain", "privacy"]
|
|
license = "MIT or Apache-2.0"
|
|
readme = "README.md"
|
|
repository = "https://github.com/logos-blockchain/logos-blockchain"
|
|
version = "0.0.0"
|
|
|
|
[profile.release]
|
|
codegen-units = 1 # (Much) slower build time, much better performances
|
|
lto = "fat" # Same as above
|
|
strip = true # Remove symbols to reduce binary size
|
|
|
|
[profile.release.package."*"]
|
|
# LTO cannot be overridden for downstream dependencies.
|
|
codegen-units = 1
|
|
opt-level = 3
|
|
|
|
[profile.bench]
|
|
inherits = "release"
|
|
|
|
[profile.release-profiling]
|
|
debug = true # Include debug symbols for profiling
|
|
inherits = "release"
|
|
strip = "none" # Don't strip symbols to allow for better profiling results
|
|
|
|
[workspace]
|
|
# Make sure any excluded crates are still clipped in our CI. Also, make sure they use the same Clippy and rustc lints we specify in this file down below.
|
|
members = [
|
|
"blend/core",
|
|
"blend/crypto",
|
|
"blend/message",
|
|
"blend/network",
|
|
"blend/proofs",
|
|
"blend/scheduling",
|
|
"c-bindings",
|
|
"codec",
|
|
"codec/macros",
|
|
"consensus/cryptarchia-engine",
|
|
"consensus/cryptarchia-sync",
|
|
"core",
|
|
"deployment/faucet",
|
|
"deployment/l2-sequencer-archival-demo/archiver",
|
|
"deployment/l2-sequencer-archival-demo/sequencer",
|
|
"deployment/tui-zone",
|
|
"kms/keys",
|
|
"kms/macros",
|
|
"kms/operators",
|
|
"ledger",
|
|
"libp2p",
|
|
"merkle/blake2btree",
|
|
"merkle/dynamic-merkle",
|
|
"merkle/tree",
|
|
"merkle/utxotree",
|
|
"mmr",
|
|
"nodes/api-common",
|
|
"nodes/node/binary",
|
|
"nodes/node/http-client",
|
|
"services/api",
|
|
"services/blend",
|
|
"services/chain/broadcast-service",
|
|
"services/chain/chain-leader",
|
|
"services/chain/chain-network",
|
|
"services/chain/chain-service",
|
|
"services/key-management-system",
|
|
"services/network",
|
|
"services/sdp",
|
|
"services/storage",
|
|
"services/system-sig",
|
|
"services/time",
|
|
"services/tracing",
|
|
"services/tx-service",
|
|
"services/utils",
|
|
"services/wallet",
|
|
"tests",
|
|
"tests/testing_framework",
|
|
"tools/blockchain-tools",
|
|
"tools/config",
|
|
"tracing",
|
|
"tracing/targets",
|
|
"tracing/targets/macros",
|
|
"utils",
|
|
"wallet",
|
|
"wallet-http-client",
|
|
"zk/circuits/prover",
|
|
"zk/circuits/verifier",
|
|
"zk/groth16",
|
|
"zk/poseidon2",
|
|
"zk/proofs/error",
|
|
"zk/proofs/poc",
|
|
"zk/proofs/pol",
|
|
"zk/proofs/poq",
|
|
"zk/proofs/zksign",
|
|
"zone-sdk",
|
|
]
|
|
resolver = "2"
|
|
|
|
[workspace.dependencies]
|
|
# Internal
|
|
cfgsync-adapter = { default-features = false, git = "https://github.com/logos-blockchain/logos-blockchain-testing.git", rev = "db880d61155db3a4f32177ef16b0f1e4bf22b1f6" }
|
|
cfgsync-artifacts = { default-features = false, git = "https://github.com/logos-blockchain/logos-blockchain-testing.git", rev = "db880d61155db3a4f32177ef16b0f1e4bf22b1f6" }
|
|
common-http-client = { default-features = false, package = "logos-blockchain-common-http-client", path = "./nodes/node/http-client" }
|
|
hasher = { default-features = false, version = "0.1.4" }
|
|
jf-poseidon2 = { default-features = false, git = "https://github.com/EspressoSystems/jellyfish.git", rev = "8d80230358e900f8d63765a937f63f4978ca1daa" }
|
|
lb-api-service = { default-features = false, package = "logos-blockchain-api-service", path = "./services/api" }
|
|
lb-blake2btree = { default-features = false, package = "logos-blockchain-blake2btree", path = "merkle/blake2btree" }
|
|
lb-blend = { default-features = false, package = "logos-blockchain-blend", path = "./blend/core" }
|
|
lb-blend-crypto = { default-features = false, package = "logos-blockchain-blend-crypto", path = "./blend/crypto" }
|
|
lb-blend-message = { default-features = false, package = "logos-blockchain-blend-message", path = "./blend/message" }
|
|
lb-blend-network = { default-features = false, package = "logos-blockchain-blend-network", path = "./blend/network" }
|
|
lb-blend-proofs = { default-features = false, package = "logos-blockchain-blend-proofs", path = "./blend/proofs" }
|
|
lb-blend-scheduling = { default-features = false, package = "logos-blockchain-blend-scheduling", path = "./blend/scheduling" }
|
|
lb-blend-service = { default-features = false, package = "logos-blockchain-blend-service", path = "./services/blend" }
|
|
lb-chain-broadcast-service = { default-features = false, package = "logos-blockchain-chain-broadcast-service", path = "./services/chain/broadcast-service" }
|
|
lb-chain-leader-service = { default-features = false, package = "logos-blockchain-chain-leader-service", path = "./services/chain/chain-leader" }
|
|
lb-chain-network-service = { default-features = false, package = "logos-blockchain-chain-network-service", path = "./services/chain/chain-network" }
|
|
lb-chain-service = { default-features = false, package = "logos-blockchain-chain-service", path = "./services/chain/chain-service" }
|
|
lb-circuits-prover = { default-features = false, package = "logos-blockchain-circuits-prover", path = "./zk/circuits/prover" }
|
|
lb-codec = { default-features = false, package = "logos-blockchain-codec", path = "./codec" }
|
|
lb-codec-macros = { default-features = false, package = "logos-blockchain-codec-macros", path = "./codec/macros" }
|
|
lb-common-http-client = { default-features = false, package = "logos-blockchain-common-http-client", path = "./nodes/node/http-client" }
|
|
lb-config = { default-features = false, package = "logos-blockchain-config", path = "./tools/config" }
|
|
lb-core = { default-features = false, package = "logos-blockchain-core", path = "./core" }
|
|
lb-cryptarchia-engine = { default-features = false, package = "logos-blockchain-cryptarchia-engine", path = "./consensus/cryptarchia-engine" }
|
|
lb-cryptarchia-sync = { default-features = false, package = "logos-blockchain-cryptarchia-sync", path = "./consensus/cryptarchia-sync" }
|
|
lb-demo-sequencer = { default-features = false, package = "logos-blockchain-demo-sequencer", path = "./deployment/l2-sequencer-archival-demo/sequencer" }
|
|
lb-dynamic-merkle = { default-features = false, package = "logos-blockchain-dynamic-merkle", path = "merkle/dynamic-merkle" }
|
|
lb-faucet = { default-features = false, package = "logos-blockchain-faucet", path = "./deployment/faucet" }
|
|
lb-groth16 = { default-features = false, package = "logos-blockchain-groth16", path = "./zk/groth16" }
|
|
lb-http-api-common = { default-features = false, package = "logos-blockchain-http-api-common", path = "./nodes/api-common" }
|
|
lb-key-management-system-keys = { default-features = false, package = "logos-blockchain-key-management-system-keys", path = "./kms/keys" }
|
|
lb-key-management-system-macros = { default-features = false, package = "logos-blockchain-key-management-system-macros", path = "./kms/macros" }
|
|
lb-key-management-system-operators = { default-features = false, package = "logos-blockchain-key-management-system-operators", path = "./kms/operators" }
|
|
lb-key-management-system-service = { default-features = false, package = "logos-blockchain-key-management-system-service", path = "./services/key-management-system" }
|
|
lb-ledger = { default-features = false, package = "logos-blockchain-ledger", path = "./ledger" }
|
|
lb-libp2p = { default-features = false, package = "logos-blockchain-libp2p", path = "./libp2p" }
|
|
lb-log-targets = { default-features = false, package = "logos-blockchain-log-targets", path = "./tracing/targets" }
|
|
lb-log-targets-macros = { default-features = false, package = "logos-blockchain-log-targets-macros", path = "./tracing/targets/macros" }
|
|
lb-merkle-tree = { default-features = false, package = "logos-blockchain-merkle-tree", path = "merkle/tree" }
|
|
lb-mmr = { default-features = false, package = "logos-blockchain-mmr", path = "./mmr" }
|
|
lb-network-service = { default-features = false, package = "logos-blockchain-network-service", path = "./services/network" }
|
|
lb-node = { default-features = false, package = "logos-blockchain-node", path = "./nodes/node/binary" }
|
|
lb-poc = { default-features = false, package = "logos-blockchain-poc", path = "./zk/proofs/poc" }
|
|
lb-pol = { default-features = false, package = "logos-blockchain-pol", path = "./zk/proofs/pol" }
|
|
lb-poq = { default-features = false, package = "logos-blockchain-poq", path = "./zk/proofs/poq" }
|
|
lb-poseidon2 = { default-features = false, package = "logos-blockchain-poseidon2", path = "./zk/poseidon2" }
|
|
lb-sdp-service = { default-features = false, package = "logos-blockchain-sdp-service", path = "./services/sdp" }
|
|
lb-services-utils = { default-features = false, package = "logos-blockchain-services-utils", path = "./services/utils" }
|
|
lb-storage-service = { default-features = false, package = "logos-blockchain-storage-service", path = "./services/storage" }
|
|
lb-system-sig-service = { default-features = false, package = "logos-blockchain-system-sig-service", path = "./services/system-sig" }
|
|
lb-testing-framework = { default-features = false, package = "testing-framework", path = "./tests/testing_framework" }
|
|
lb-time-service = { default-features = false, package = "logos-blockchain-time-service", path = "./services/time" }
|
|
lb-tracing = { default-features = false, package = "logos-blockchain-tracing", path = "./tracing" }
|
|
lb-tracing-service = { default-features = false, package = "logos-blockchain-tracing-service", path = "./services/tracing" }
|
|
lb-tui-zone = { default-features = false, package = "logos-blockchain-tui-zone", path = "./deployment/tui-zone" }
|
|
lb-tx-service = { default-features = false, package = "logos-blockchain-tx-service", path = "./services/tx-service" }
|
|
lb-utils = { default-features = false, package = "logos-blockchain-utils", path = "./utils" }
|
|
lb-utxotree = { default-features = false, package = "logos-blockchain-utxotree", path = "merkle/utxotree" }
|
|
lb-wallet = { default-features = false, package = "logos-blockchain-wallet", path = "./wallet" }
|
|
lb-wallet-service = { default-features = false, package = "logos-blockchain-wallet-service", path = "./services/wallet" }
|
|
lb-zksign = { default-features = false, package = "logos-blockchain-zksign", path = "./zk/proofs/zksign" }
|
|
lb-zone-sdk = { default-features = false, package = "logos-blockchain-zone-sdk", path = "./zone-sdk" }
|
|
# When bumping any lbc-* tag, also update the logos-blockchain-circuits flake input tag in flake.nix
|
|
# and run `nix flake lock --update-input logos-blockchain-circuits`.
|
|
lbc-poc-sys = { default-features = false, git = "https://github.com/logos-blockchain/logos-blockchain-circuits.git", package = "logos-blockchain-circuits-poc-sys", tag = "v0.5.6" }
|
|
lbc-pol-sys = { default-features = false, git = "https://github.com/logos-blockchain/logos-blockchain-circuits.git", package = "logos-blockchain-circuits-pol-sys", tag = "v0.5.6" }
|
|
lbc-poq-sys = { default-features = false, git = "https://github.com/logos-blockchain/logos-blockchain-circuits.git", package = "logos-blockchain-circuits-poq-sys", tag = "v0.5.6" }
|
|
lbc-signature-sys = { default-features = false, git = "https://github.com/logos-blockchain/logos-blockchain-circuits.git", package = "logos-blockchain-circuits-signature-sys", tag = "v0.5.6" }
|
|
lbc-types = { default-features = false, git = "https://github.com/logos-blockchain/logos-blockchain-circuits.git", package = "logos-blockchain-circuits-types", tag = "v0.5.6" }
|
|
lbp-error = { default-features = false, package = "logos-blockchain-proofs-error", path = "./zk/proofs/error" }
|
|
testing-framework-core = { default-features = false, git = "https://github.com/logos-blockchain/logos-blockchain-testing.git", rev = "db880d61155db3a4f32177ef16b0f1e4bf22b1f6" }
|
|
testing-framework-runner-compose = { default-features = false, git = "https://github.com/logos-blockchain/logos-blockchain-testing.git", rev = "db880d61155db3a4f32177ef16b0f1e4bf22b1f6" }
|
|
testing-framework-runner-k8s = { default-features = false, git = "https://github.com/logos-blockchain/logos-blockchain-testing.git", rev = "db880d61155db3a4f32177ef16b0f1e4bf22b1f6" }
|
|
testing-framework-runner-local = { default-features = false, git = "https://github.com/logos-blockchain/logos-blockchain-testing.git", rev = "db880d61155db3a4f32177ef16b0f1e4bf22b1f6" }
|
|
|
|
# External
|
|
anyhow = { default-features = false, version = "1" }
|
|
ark-bn254 = { default-features = false, version = "0.5" }
|
|
ark-ec = { default-features = false, version = "0.5" }
|
|
ark-ff = { default-features = false, version = "0.5" }
|
|
ark-groth16 = { default-features = false, version = "0.5" }
|
|
ark-serialize = { default-features = false, version = "0.5" }
|
|
astro-float = { default-features = false, version = "0.9" }
|
|
async-ctrlc = { default-features = false, version = "1.2" }
|
|
async-stream = { default-features = false, version = "0.3.6" }
|
|
async-trait = { default-features = false, version = "0.1" }
|
|
axum = { default-features = false, version = "0.7.5" }
|
|
backon = { default-features = false, version = "1.3.0" }
|
|
bincode = { default-features = false, version = "1.3" }
|
|
blake2 = { default-features = false, version = "0.10" }
|
|
bytes = { default-features = false, version = "1.3" }
|
|
cbindgen = { default-features = false, version = "0.29" }
|
|
chrono = { default-features = false, version = "0.4" }
|
|
cipher = { default-features = false, version = "0.4" }
|
|
clap = { default-features = false, version = "4" }
|
|
color-eyre = { default-features = false, version = "0.6.0" }
|
|
console-subscriber = { default-features = false, version = "0.5" }
|
|
const-hex = { default-features = false, version = "1" }
|
|
cucumber = { default-features = false, version = "=0.22.0" }
|
|
derivative = { default-features = false, version = "2" }
|
|
dhat = { default-features = false, version = "0.3.3" }
|
|
divan = { default-features = false, version = "0.1" }
|
|
ed25519 = { default-features = false, version = "2.2.3" }
|
|
ed25519-dalek = { default-features = false, version = "2" }
|
|
either = { default-features = false, version = "1.15.0" }
|
|
flate2 = { default-features = false, version = "1.1.9" }
|
|
fork_stream = { default-features = false, version = "0.1.0" }
|
|
futures = { default-features = false, version = "0.3.32" }
|
|
futures-timer = { default-features = false, version = "3.0.3" }
|
|
futures-util = { default-features = false, version = "0.3.32" }
|
|
generic-array = { default-features = false, version = "1.2" }
|
|
hex = { default-features = false, version = "0.4" }
|
|
http = { default-features = false, version = "1.3" }
|
|
humantime = { default-features = false, version = "2.1" }
|
|
igd-next = { default-features = false, version = "0.16.1" }
|
|
indexmap = { default-features = false, version = "2.14.0" }
|
|
itertools = { default-features = false, version = "0.14" }
|
|
libp2p = { default-features = false, version = "0.56" }
|
|
libp2p-stream = { default-features = false, version = "0.4.0-alpha" }
|
|
libp2p-swarm-test = { default-features = false, version = "0.6" }
|
|
log = { default-features = false, version = "0.4" }
|
|
lru = { default-features = false, version = "0.18.2" }
|
|
multiaddr = { default-features = false, version = "0.18" }
|
|
natpmp = { default-features = false, version = "0.5" }
|
|
netdev = { default-features = false, version = "0.31" }
|
|
nistrs = { default-features = false, version = "0.1.2" }
|
|
num-bigint = { default-features = false, version = "0.4" }
|
|
num-traits = { default-features = false, version = "0.2.19" }
|
|
num_enum = { default-features = false, version = "0.7.4" }
|
|
nutype = { default-features = false, version = "0.6.2" }
|
|
opentelemetry = { default-features = false, version = "0.32.0" }
|
|
opentelemetry-appender-tracing = { default-features = false, version = "0.32.0" }
|
|
opentelemetry-http = { default-features = false, version = "0.32.0" }
|
|
opentelemetry-otlp = { default-features = false, version = "0.32.0" }
|
|
opentelemetry-semantic-conventions = { default-features = false, version = "0.32.1" }
|
|
opentelemetry_sdk = { default-features = false, version = "0.32.1" }
|
|
overwatch = { default-features = false, git = "https://github.com/logos-co/Overwatch", rev = "ae887f41f5a626c341179026ad7f03953ff2072e" }
|
|
overwatch-derive = { default-features = false, git = "https://github.com/logos-co/Overwatch", rev = "ae887f41f5a626c341179026ad7f03953ff2072e" }
|
|
owo-colors = { default-features = false, version = "4.2.3" }
|
|
pprof = { default-features = false, version = "0.15" }
|
|
proc-macro2 = { default-features = false, version = "1" }
|
|
proptest = { default-features = false, version = "1.0" }
|
|
proptest-macro = { default-features = false, version = "0.2" }
|
|
quickcheck = { default-features = false, version = "1.0" }
|
|
quickcheck_macros = { default-features = false, version = "1.0" }
|
|
quote = { default-features = false, version = "1" }
|
|
rand = { default-features = false, version = "0.8" }
|
|
rand_chacha = { default-features = false, version = "0.3" }
|
|
rand_core = { default-features = false, version = "0.6.4" }
|
|
redb = { default-features = false, version = "2.2" }
|
|
reqwest = { default-features = false, version = "0.12" }
|
|
rocksdb = { default-features = false, version = "0.24" }
|
|
rpds = { default-features = false, version = "1" }
|
|
rs-merkle-tree = { default-features = false, version = "0.1" }
|
|
tar = { default-features = false, version = "0.4.46" }
|
|
# Must stay in sync with the rust-rapidsnark flake input in flake.nix.
|
|
rust-rapidsnark = { default-features = false, git = "https://github.com/logos-blockchain/logos-blockchain-rust-rapidsnark.git", rev = "e91187f8ccb5bbfc7bb00dac88169112428da78f" } # feat/nixify
|
|
serde = { default-features = false, version = "1.0" }
|
|
serde-big-array = { default-features = false, version = "0.5" }
|
|
serde_arrays = { default-features = false, version = "0.2.0" }
|
|
serde_ignored = { default-features = false, version = "0.1" }
|
|
serde_json = { default-features = false, version = "1.0" }
|
|
serde_urlencoded = { default-features = false, version = "0.7.1" }
|
|
serde_with = { default-features = false, version = "3.14.0" }
|
|
serde_yaml = { default-features = false, version = "0.9.33" }
|
|
serial_test = { default-features = false, version = "3.1.1" }
|
|
sntpc = { default-features = false, version = "0.5" }
|
|
strum = { default-features = false, version = "0.27" }
|
|
strum_macros = { default-features = false, version = "0.27.2" }
|
|
subtle = { default-features = false, version = "2.6.1" }
|
|
syn = { default-features = false, version = "2" }
|
|
sysinfo = { default-features = false, version = "0.37" }
|
|
tempfile = { default-features = false, version = "3" }
|
|
test-log = { default-features = false, version = "0.2" }
|
|
thiserror = { default-features = false, version = "2.0" }
|
|
tikv-jemallocator = { default-features = false, version = "0.6" }
|
|
time = { default-features = false, version = "0.3" }
|
|
tokio = { default-features = false, version = "1" }
|
|
tokio-stream = { default-features = false, version = "0.1.18" }
|
|
tokio-util = { default-features = false, version = "0.7" }
|
|
tonic = { default-features = false, version = "0.14.5" }
|
|
tower = { default-features = false, version = "0.4" }
|
|
tower-http = { default-features = false, version = "0.6.8" }
|
|
tracing = { default-features = false, version = "0.1" }
|
|
tracing-appender = { default-features = false, version = "0.2" }
|
|
tracing-futures = { default-features = false, version = "0.2" }
|
|
tracing-gelf = { default-features = false, version = "0.7" }
|
|
tracing-loki = { default-features = false, version = "0.2.5" }
|
|
tracing-opentelemetry = { default-features = false, version = "0.33.0" }
|
|
tracing-subscriber = { default-features = false, version = "0.3" }
|
|
url = { default-features = false, version = "2" }
|
|
utoipa = { default-features = false, version = "4.0" }
|
|
utoipa-swagger-ui = { default-features = false, version = "7.0" }
|
|
uuid = { default-features = false, version = "1" }
|
|
validator = { default-features = false, version = "0.20.0" }
|
|
x25519-dalek = { default-features = false, version = "2" }
|
|
zerocopy = { default-features = false, version = "0.8.26" }
|
|
zeroize = { default-features = false, version = "1" }
|
|
|
|
[workspace.lints.clippy]
|
|
|
|
# Cargo and allowed cargo warnings (new lints will warn by default)
|
|
cargo = { level = "warn", priority = -1 }
|
|
|
|
# TODO: We should tackle this lint at some point, to reduce dependencies duplication, reduce compilation times and bring down our binary size.
|
|
multiple_crate_versions = { level = "allow" }
|
|
|
|
# Nursery and allowed nursery warnings (new lints will warn by default)
|
|
nursery = { level = "warn", priority = -1 }
|
|
|
|
# Pedantic and allowed pedantic warnings (new lints will warn by default)
|
|
pedantic = { level = "warn", priority = -1 }
|
|
|
|
similar_names = { level = "allow" }
|
|
|
|
# Restriction and allowed restriction warnings (new lints will warn by default)
|
|
restriction = { level = "warn", priority = -1 }
|
|
|
|
absolute_paths = { level = "allow" }
|
|
alloc_instead_of_core = { level = "allow" }
|
|
arbitrary_source_item_ordering = { level = "allow" }
|
|
big_endian_bytes = { level = "allow" }
|
|
blanket_clippy_restriction_lints = { level = "allow" }
|
|
decimal_literal_representation = { level = "allow" }
|
|
default_numeric_fallback = { level = "allow" }
|
|
deref_by_slicing = { level = "allow" }
|
|
else_if_without_else = { level = "allow" }
|
|
exhaustive_enums = { level = "allow" }
|
|
exhaustive_structs = { level = "allow" }
|
|
exit = { level = "allow" }
|
|
expect_used = { level = "allow" }
|
|
field_scoped_visibility_modifiers = { level = "allow" }
|
|
float_arithmetic = { level = "allow" }
|
|
get_unwrap = { level = "allow" }
|
|
host_endian_bytes = { level = "allow" }
|
|
implicit_return = { level = "allow" }
|
|
integer_division_remainder_used = { level = "allow" }
|
|
iter_over_hash_type = { level = "allow" }
|
|
let_underscore_must_use = { level = "allow" }
|
|
let_underscore_untyped = { level = "allow" }
|
|
little_endian_bytes = { level = "allow" }
|
|
map_err_ignore = { level = "allow" }
|
|
min_ident_chars = { level = "allow" }
|
|
missing_asserts_for_indexing = { level = "allow" }
|
|
missing_docs_in_private_items = { level = "allow" }
|
|
missing_inline_in_public_items = { level = "allow" }
|
|
missing_trait_methods = { level = "allow" }
|
|
mixed_read_write_in_expression = { level = "allow" }
|
|
mod_module_files = { level = "allow" }
|
|
module_name_repetitions = { level = "allow" }
|
|
modulo_arithmetic = { level = "allow" }
|
|
panic = { level = "allow" }
|
|
panic_in_result_fn = { level = "allow" }
|
|
partial_pub_fields = { level = "allow" }
|
|
print_stderr = { level = "allow" }
|
|
print_stdout = { level = "allow" }
|
|
pub_use = { level = "allow" }
|
|
pub_with_shorthand = { level = "allow" }
|
|
question_mark_used = { level = "allow" }
|
|
self_named_module_files = { level = "allow" }
|
|
semicolon_inside_block = { level = "allow" }
|
|
single_call_fn = { level = "allow" }
|
|
single_char_lifetime_names = { level = "allow" }
|
|
std_instead_of_alloc = { level = "allow" }
|
|
std_instead_of_core = { level = "allow" }
|
|
struct_field_names = { level = "allow" }
|
|
unseparated_literal_suffix = { level = "allow" }
|
|
use_debug = { level = "allow" }
|
|
wildcard_enum_match_arm = { level = "allow" }
|
|
|
|
# TODO: Address these lints at some point. To allow them, move them to the section where they belong (e.g., pedantic), and keep allowing them. To enforce them, since all lints are "warn" by default, just remove them from this list.
|
|
arithmetic_side_effects = { level = "allow" }
|
|
as_conversions = { level = "allow" }
|
|
as_pointer_underscore = { level = "allow" }
|
|
as_underscore = { level = "allow" }
|
|
assertions_on_result_states = { level = "allow" }
|
|
cast_possible_truncation = { level = "allow" }
|
|
cast_possible_wrap = { level = "allow" }
|
|
cast_precision_loss = { level = "allow" }
|
|
cast_sign_loss = { level = "allow" }
|
|
doc_paragraphs_missing_punctuation = { level = "allow" }
|
|
error_impl_error = { level = "allow" }
|
|
impl_trait_in_params = { level = "allow" }
|
|
indexing_slicing = { level = "allow" }
|
|
infinite_loop = { level = "allow" }
|
|
inline_modules = { level = "allow" }
|
|
inline_trait_bounds = { level = "allow" }
|
|
integer_division = { level = "allow" }
|
|
large_stack_frames = { level = "allow" }
|
|
missing_assert_message = { level = "allow" }
|
|
missing_errors_doc = { level = "allow" }
|
|
missing_panics_doc = { level = "allow" }
|
|
pattern_type_mismatch = { level = "allow" }
|
|
redundant_test_prefix = { level = "allow" }
|
|
ref_patterns = { level = "allow" }
|
|
renamed_function_params = { level = "allow" }
|
|
same_name_method = { level = "allow" }
|
|
shadow_reuse = { level = "allow" }
|
|
shadow_same = { level = "allow" }
|
|
shadow_unrelated = { level = "allow" }
|
|
tests_outside_test_module = { level = "allow" }
|
|
todo = { level = "allow" }
|
|
unimplemented = { level = "allow" }
|
|
unreachable = { level = "allow" }
|
|
unwrap_in_result = { level = "allow" }
|
|
unwrap_used = { level = "allow" }
|
|
|
|
[workspace.lints.rust]
|
|
|
|
# Explicitly allowed lints
|
|
|
|
unused_crate_dependencies = { level = "allow" } # Too many false positives especially around benchmarking and binaries, which do not have their own `dependencies` section yet. Plus, we have cargo-machete checking unused deps.
|
|
unused_results = { level = "allow" } # We have Clippy lints to warn on unused `must_use` results. This is too pedantic as it complains on EVERY unused result.
|
|
|
|
# Lints which are allow-by-default but have been changed to "warn"
|
|
ambiguous_negative_literals = { level = "warn" }
|
|
closure_returning_async_block = { level = "warn" }
|
|
deref_into_dyn_supertrait = { level = "warn" }
|
|
ffi_unwind_calls = { level = "warn" }
|
|
impl_trait_redundant_captures = { level = "warn" }
|
|
let_underscore_drop = { level = "warn" }
|
|
linker_messages = { level = "warn" }
|
|
macro_use_extern_crate = { level = "warn" }
|
|
missing_unsafe_on_extern = { level = "warn" }
|
|
redundant_imports = { level = "warn" }
|
|
redundant_lifetimes = { level = "warn" }
|
|
single_use_lifetimes = { level = "warn" }
|
|
tail_expr_drop_order = { level = "warn" }
|
|
trivial_numeric_casts = { level = "warn" }
|
|
unit_bindings = { level = "warn" }
|
|
unsafe_attr_outside_unsafe = { level = "warn" }
|
|
unsafe_op_in_unsafe_fn = { level = "warn" }
|
|
unstable_features = { level = "warn" }
|
|
unused_extern_crates = { level = "warn" }
|
|
unused_import_braces = { level = "warn" }
|
|
unused_lifetimes = { level = "warn" }
|
|
unused_macro_rules = { level = "warn" }
|
|
unused_qualifications = { level = "warn" }
|
|
|
|
# TODO: Address these allow-by-default Rustc lints at some point. To allow them, simply remove them from this list. To enforce them, move them to the list of explicitly warned ones and mark them as "warn" level.
|
|
absolute_paths_not_starting_with_crate = { level = "allow" }
|
|
elided_lifetimes_in_paths = { level = "allow" }
|
|
impl_trait_overcaptures = { level = "allow" }
|
|
missing_copy_implementations = { level = "allow" }
|
|
missing_debug_implementations = { level = "allow" }
|
|
missing_docs = { level = "allow" }
|
|
trivial_casts = { level = "allow" }
|
|
unreachable_pub = { level = "allow" }
|
|
unsafe_code = { level = "allow" }
|
|
variant_size_differences = { level = "allow" }
|