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.md
source content

Build and Compile

Build Rust code with proper error handling and optimization.

Build Commands

Build TypeCommandPurpose
Development
cargo build
Fast compile, debug symbols
Release
cargo build --release
Optimized for production
Check
cargo 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:
    lto = "fat"
    in release
  • Codegen units:
    codegen-units = 1
  • Profile:
    cargo build --timings