Quick Reference: heliosdb-storage Compilation Fixes
Quick Reference: heliosdb-storage Compilation Fixes
Status: COMPLETE - 0 Errors
Files Modified (6 files)
1. Cargo.toml
- Line: 43-44 (removed)
- Fix: Removed duplicate
rayonandfuturesdependencies
2. src/backup_advanced.rs
- Lines: 617 (added), 641, 648
- Fix: Captured
compressed_sizebefore move to avoid borrow-after-move
3. src/integrity/scrubber.rs
- Line: 14 (added)
- Fix: Added
use chrono::Timelike;import
4. src/wal.rs
- Line: 15
- Fix: Added
Defaultto Lsn derive macro
5. src/verification_engine.rs
- Lines: 811-812
- Fix: Added
.map_err()for chrono error conversion
6. src/replication_advanced.rs
- Lines: 179-210, 204-207
- Fix: Wrapped lock guards in scopes to drop before await
Build Commands
# Debug buildcargo build --package heliosdb-storage# Result: 0 errors, 123 warnings
# Release buildcargo build --package heliosdb-storage --release# Result: 0 errors, 123 warnings
# Check onlycargo check --package heliosdb-storage# Result: 0 errors, 123 warningsPattern Reference
Borrow After Move
// BEFORE (ERROR)let data = vec![1, 2, 3];let moved = data;println!("{}", data.len()); // ERROR: borrow after move
// AFTER (FIXED)let data = vec![1, 2, 3];let len = data.len(); // Capture before movelet moved = data;println!("{}", len); // OK: using captured valueSend Trait with Guards
// BEFORE (ERROR)let guard = lock.write();do_something(&guard);await_something().await; // ERROR: guard held across await
// AFTER (FIXED){ let guard = lock.write(); do_something(&guard);} // guard dropped hereawait_something().await; // OK: no guard heldGenerated: 2025-11-09