-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCargo.toml
More file actions
125 lines (118 loc) · 4.17 KB
/
Cargo.toml
File metadata and controls
125 lines (118 loc) · 4.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# SPDX-License-Identifier: Apache-2.0
# © James Ross Ω FLYING•ROBOTS <https://github.com/flyingrobots>
[workspace]
members = [
"crates/echo-runtime-schema",
"crates/warp-core",
"crates/warp-wasm",
"crates/warp-cli",
"crates/warp-geom",
"crates/warp-benches",
"crates/echo-app-core",
"crates/echo-config-fs",
"crates/echo-session-proto",
"crates/echo-graph",
"crates/echo-dind-harness",
"crates/echo-dind-tests",
"crates/echo-wasm-abi",
"crates/echo-registry-api",
"specs/spec-000-rewrite",
"crates/echo-wasm-bindings",
"crates/echo-wesley-gen",
"crates/echo-dry-tests",
"crates/echo-cas",
"crates/echo-scene-port",
"crates/echo-scene-codec",
"crates/ttd-browser",
"crates/ttd-protocol-rs",
"crates/echo-ttd",
"crates/method",
"xtask"
]
resolver = "2"
[workspace.package]
license = "Apache-2.0"
repository = "https://github.com/flyingrobots/echo"
rust-version = "1.90.0"
[workspace.dependencies]
echo-app-core = { version = "0.1.0", path = "crates/echo-app-core" }
echo-cas = { version = "0.1.0", path = "crates/echo-cas" }
echo-config-fs = { version = "0.1.0", path = "crates/echo-config-fs" }
echo-dind-tests = { version = "0.1.0", path = "crates/echo-dind-tests" }
echo-dry-tests = { version = "0.1.0", path = "crates/echo-dry-tests" }
echo-graph = { version = "0.1.0", path = "crates/echo-graph" }
echo-runtime-schema = { version = "0.1.0", path = "crates/echo-runtime-schema", default-features = false }
echo-registry-api = { version = "0.1.0", path = "crates/echo-registry-api" }
echo-scene-codec = { version = "0.1.0", path = "crates/echo-scene-codec" }
echo-scene-port = { version = "0.1.0", path = "crates/echo-scene-port" }
echo-session-proto = { version = "0.1.1", path = "crates/echo-session-proto" }
echo-wasm-abi = { version = "0.1.0", path = "crates/echo-wasm-abi" }
warp-core = { version = "0.1.1", path = "crates/warp-core" }
ttd-browser = { version = "0.1.0", path = "crates/ttd-browser" }
ttd-protocol-rs = { version = "0.1.0", path = "crates/ttd-protocol-rs" }
echo-ttd = { version = "0.1.0", path = "crates/echo-ttd" }
method = { version = "0.1.0", path = "crates/method" }
# ── Workspace-wide lint policy ──────────────────────────────────────
# Maximum strictness. Crates opt in via `[lints] workspace = true`.
# Per-crate overrides go in that crate's `[lints]` table.
[workspace.lints.rust]
missing_docs = "deny"
rust_2018_idioms = "deny"
unused_must_use = "deny"
# deny (not forbid) so WASM/FFI crates can #![allow(unsafe_code)] locally
unsafe_code = "deny"
[workspace.lints.clippy]
# Lint groups — all promoted to deny
all = { level = "deny", priority = -1 }
pedantic = { level = "deny", priority = -1 }
nursery = { level = "deny", priority = -1 }
cargo = { level = "deny", priority = -1 }
# Anti-pattern lints — explicit deny
unwrap_used = "deny"
expect_used = "deny"
panic = "deny"
todo = "deny"
unimplemented = "deny"
dbg_macro = "deny"
print_stdout = "deny"
print_stderr = "deny"
# Pedantic overrides — allow where too noisy for this codebase
must_use_candidate = "allow"
return_self_not_must_use = "allow"
unreadable_literal = "allow"
missing_const_for_fn = "allow"
suboptimal_flops = "allow"
redundant_pub_crate = "allow"
many_single_char_names = "allow"
module_name_repetitions = "allow"
use_self = "allow"
# Nursery overrides — too noisy or false-positive-prone
cognitive_complexity = "allow"
option_if_let_else = "allow"
significant_drop_tightening = "allow"
# Pedantic overrides — low signal-to-noise for this codebase
doc_markdown = "allow"
too_many_lines = "allow"
struct_excessive_bools = "allow"
too_long_first_doc_paragraph = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
similar_names = "allow"
trivially_copy_pass_by_ref = "allow"
needless_collect = "allow"
manual_let_else = "allow"
needless_pass_by_value = "allow"
# cargo group overrides
multiple_crate_versions = "allow"
[profile.release]
opt-level = "s"
lto = true
codegen-units = 1
strip = true
[profile.bench]
# Derive from release but optimize for throughput and faster builds
opt-level = 3
lto = false
codegen-units = 16
debug = true
strip = false