Claude-skill-registry build-compile
Build Rust code with proper error handling and optimization for development, testing, and production. Use when compiling the self-learning memory project or troubleshooting build errors.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/build-compile" ~/.claude/skills/majiayu000-claude-skill-registry-build-compile && rm -rf "$T"
manifest:
skills/data/build-compile/SKILL.mdsource content
Build and Compile
Build Rust code with proper error handling and optimization.
Build Commands
| Build Type | Command | Purpose |
|---|---|---|
| Development | | Fast compile, debug symbols |
| Release | | Optimized for production |
| Check | | Fast type check only |
Build Profiles
[profile.dev] opt-level = 0 debug = true [profile.release] opt-level = 3 lto = "fat" codegen-units = 1 strip = true
Common Errors
Type Errors
error[E0308]: mismatched types
Fix: Ensure return types match
Lifetime Errors
error[E0597]: value does not live long enough
Fix: Clone data or return owned type
Trait Bound Errors
error[E0277]: trait bound `X: Send` not satisfied
Fix: Use Send-safe types (Arc<Mutex<T>>)
Async Errors
error: await only allowed in async functions
Fix: Make function async
Speed Up Builds
# Incremental export CARGO_INCREMENTAL=1 # Clean rebuild cargo clean && cargo build --all # Parallel jobs cargo build -j 8
Optimization Tips
- LTO:
in releaselto = "fat" - Codegen units:
codegen-units = 1 - Profile:
cargo build --timings