###############################################################################
# 1 ▸ Core Rust build artefacts
###############################################################################
/target/                 # All build output (debug, release, docs, …)
/**/*.rs.bk              # Rare editor-generated *.bk backups

# Lock-file rule:
#   • KEEP Cargo.lock for binaries/apps (reproducible builds).
#   • DROP it for libraries (let dependants pick their own versions).
#   Comment-out the line below if this repo is an executable.
#/Cargo.lock

###############################################################################
# 2 ▸ Generated documentation
###############################################################################
/target/doc/             # `cargo doc` HTML output

###############################################################################
# 3 ▸ Test, coverage & benchmarking artefacts
###############################################################################
coverage/                # grcov / llvm-cov reports
*.profraw                # LLVM profile data
*.profdata
criterion/               # `cargo criterion` benchmark output
flamegraph.svg           # `cargo flamegraph`

###############################################################################
# 4 ▸ IDE & editor state
###############################################################################
# VS Code
.vscode/
*.code-workspace

# JetBrains IDEA / CLion with intellij-rust
.idea/
*.iml

# Rust-Analyzer extra settings (if checked-out binaries live inside repo)
/.rust-analyzer.json
/.rustup/                # local toolchain override, if checked in by mistake

###############################################################################
# 5 ▸ OS + editor noise
###############################################################################
.DS_Store
Thumbs.db
*.log
*.tmp
*.swp
*.swo
