chore: bound target/ growth — incremental off, line-tables debug
target/ had reached 38 GB, dominated by a 16 GB incremental cache (~28 compilation units × every historical config, never evicted) and ~25 separate integration-test binaries each statically embedding the bundled engine + full debug info. [profile.dev] (inherited by the test profile): - incremental = false: the cache earns little in a full-suite workflow and never self-evicts; off, target/ stays bounded. - debug = "line-tables-only": keeps file:line in panics/backtraces (we debug via tracing logs) at a fraction of debug=2's size. Net: a clean full build dropped from 38 GB to ~1.6 GB. Document the rationale plus the cargo-sweep workflow (the GC cargo lacks) under a new CLAUDE.md "Build hygiene" section; also drop the now-shipped H1 from CLAUDE's deferred list (H1a remains).
This commit is contained in:
+15
@@ -45,6 +45,21 @@ insta = { version = "1.47.2", features = ["yaml"] }
|
||||
pretty_assertions = "1.4.1"
|
||||
tempfile = "3.27.0"
|
||||
|
||||
# Dev/test build hygiene (see CLAUDE.md "Build hygiene"). `cargo test`
|
||||
# links ~25 separate integration-test binaries, each statically
|
||||
# embedding the bundled engine + every dependency; the `test` profile
|
||||
# inherits these from `dev`.
|
||||
# - incremental = false: the incremental cache reached 16 GB here for
|
||||
# little benefit in a full-suite workflow; disabling it keeps target/
|
||||
# bounded.
|
||||
# - debug = "line-tables-only": full debug info (the default `debug = 2`)
|
||||
# is ~85-90% of each test binary; line tables keep file:line in panics
|
||||
# and backtraces (we debug via `tracing` logs, not a step-debugger) at
|
||||
# a fraction of the size.
|
||||
[profile.dev]
|
||||
incremental = false
|
||||
debug = "line-tables-only"
|
||||
|
||||
[lints.rust]
|
||||
unsafe_code = "forbid"
|
||||
unreachable_pub = "warn"
|
||||
|
||||
Reference in New Issue
Block a user