Rust Systems Programming

Build safe, fast, and concurrent systems with Rust programming language

# Rust Systems

This document provides comprehensive guidelines for rust systems development and best practices.

---

## Rust Core Concepts

1. **Ownership**
   - Ownership system for memory safety
   - Implement proper ownership system for memory safety
   - Follow best practices for optimal results

2. **Borrowing**
   - Borrowing and lifetimes
   - Implement proper borrowing and lifetimes
   - Follow best practices for optimal results

3. **Zero-cost**
   - Zero-cost abstractions
   - Implement proper zero-cost abstractions
   - Follow best practices for optimal results

4. **Pattern**
   - Pattern matching with match expressions
   - Implement proper pattern matching with match expressions
   - Follow best practices for optimal results

5. **Error**
   - Error handling with Result and Option types
   - Implement proper error handling with result and option types
   - Follow best practices for optimal results

---

## Memory Management

6. **Stack**
   - Stack vs heap allocation
   - Implement proper stack vs heap allocation
   - Follow best practices for optimal results

7. **RAII**
   - RAII (Resource Acquisition Is Initialization)
   - Implement proper raii (resource acquisition is initialization)
   - Follow best practices for optimal results

8. **Smart**
   - Smart pointers: Box, Rc, Arc
   - Implement proper smart pointers: box, rc, arc
   - Follow best practices for optimal results

9. **Interior**
   - Interior mutability with RefCell and Mutex
   - Implement proper interior mutability with refcell and mutex
   - Follow best practices for optimal results

10. **Unsafe**
   - Unsafe Rust when necessary
   - Implement proper unsafe rust when necessary
   - Follow best practices for optimal results

---

## Concurrency & Parallelism

11. **Thread**
   - Thread spawning with std::thread
   - Implement proper thread spawning with std::thread
   - Follow best practices for optimal results

12. **Message**
   - Message passing with channels
   - Implement proper message passing with channels
   - Follow best practices for optimal results

13. **Shared**
   - Shared state with Arc and Mutex
   - Implement proper shared state with arc and mutex
   - Follow best practices for optimal results

14. **Async**
   - Async programming with tokio
   - Implement proper async programming with tokio
   - Follow best practices for optimal results

15. **Parallel**
   - Parallel iterators with rayon
   - Implement proper parallel iterators with rayon
   - Follow best practices for optimal results

---

## Error Handling

16. **Result<T,**
   - Result<T, E> for recoverable errors
   - Implement proper result<t, e> for recoverable errors
   - Follow best practices for optimal results

17. **Option<T>**
   - Option<T> for optional values
   - Implement proper option<t> for optional values
   - Follow best practices for optimal results

18. **Custom**
   - Custom error types with thiserror
   - Implement proper custom error types with thiserror
   - Follow best practices for optimal results

19. **Error**
   - Error propagation with ? operator
   - Implement proper error propagation with ? operator
   - Follow best practices for optimal results

20. **Panic**
   - Panic handling for unrecoverable errors
   - Implement proper panic handling for unrecoverable errors
   - Follow best practices for optimal results

---

## Performance Optimization

21. **Zero-cost**
   - Zero-cost abstractions
   - Implement proper zero-cost abstractions
   - Follow best practices for optimal results

22. **Compile-time**
   - Compile-time optimizations
   - Implement proper compile-time optimizations
   - Follow best practices for optimal results

23. **Profile-guided**
   - Profile-guided optimization
   - Implement proper profile-guided optimization
   - Follow best practices for optimal results

24. **SIMD**
   - SIMD operations
   - Implement proper simd operations
   - Follow best practices for optimal results

25. **Memory**
   - Memory layout optimization
   - Implement proper memory layout optimization
   - Follow best practices for optimal results

---

## Testing & Documentation

26. **Unit**
   - Unit tests with #[test]
   - Implement proper unit tests with #[test]
   - Follow best practices for optimal results

27. **Integration**
   - Integration tests in tests/ directory
   - Implement proper integration tests in tests/ directory
   - Follow best practices for optimal results

28. **Documentation**
   - Documentation tests with ///
   - Implement proper documentation tests with ///
   - Follow best practices for optimal results

29. **Benchmarking**
   - Benchmarking with criterion
   - Implement proper benchmarking with criterion
   - Follow best practices for optimal results

30. **Property-based**
   - Property-based testing with proptest
   - Implement proper property-based testing with proptest
   - Follow best practices for optimal results

---

## Cargo & Package Management

31. **Workspace**
   - Workspace organization
   - Implement proper workspace organization
   - Follow best practices for optimal results

32. **Feature**
   - Feature flags for conditional compilation
   - Implement proper feature flags for conditional compilation
   - Follow best practices for optimal results

33. **Cross-compilation**
   - Cross-compilation targets
   - Implement proper cross-compilation targets
   - Follow best practices for optimal results

34. **Build**
   - Build scripts with build.rs
   - Implement proper build scripts with build.rs
   - Follow best practices for optimal results

35. **Custom**
   - Custom cargo commands
   - Implement proper custom cargo commands
   - Follow best practices for optimal results

---

## Popular Crates

36. **serde**
   - serde for serialization
   - Implement proper serde for serialization
   - Follow best practices for optimal results

37. **clap**
   - clap for command-line parsing
   - Implement proper clap for command-line parsing
   - Follow best practices for optimal results

38. **reqwest**
   - reqwest for HTTP clients
   - Implement proper reqwest for http clients
   - Follow best practices for optimal results

39. **diesel**
   - diesel for database ORM
   - Implement proper diesel for database orm
   - Follow best practices for optimal results

40. **actix-web**
   - actix-web for web frameworks
   - Implement proper actix-web for web frameworks
   - Follow best practices for optimal results

---

## WebAssembly Integration

41. **Compile**
   - Compile Rust to WebAssembly
   - Implement proper compile rust to webassembly
   - Follow best practices for optimal results

42. **wasm-pack**
   - wasm-pack for packaging
   - Implement proper wasm-pack for packaging
   - Follow best practices for optimal results

43. **JavaScript**
   - JavaScript interop
   - Implement proper javascript interop
   - Follow best practices for optimal results

44. **Performance**
   - Performance optimization for WASM
   - Implement proper performance optimization for wasm
   - Follow best practices for optimal results

45. **Browser**
   - Browser and Node.js targets
   - Implement proper browser and node.js targets
   - Follow best practices for optimal results

---

## Systems Programming

46. **Low-level**
   - Low-level system calls
   - Implement proper low-level system calls
   - Follow best practices for optimal results

47. **File**
   - File system operations
   - Implement proper file system operations
   - Follow best practices for optimal results

48. **Network**
   - Network programming
   - Implement proper network programming
   - Follow best practices for optimal results

49. **Cross-platform**
   - Cross-platform compatibility
   - Implement proper cross-platform compatibility
   - Follow best practices for optimal results

50. **Embedded**
   - Embedded systems development
   - Implement proper embedded systems development
   - Follow best practices for optimal results

---

## Safety Patterns

51. **Type-driven**
   - Type-driven development
   - Implement proper type-driven development
   - Follow best practices for optimal results

52. **Newtype**
   - Newtype pattern for type safety
   - Implement proper newtype pattern for type safety
   - Follow best practices for optimal results

53. **Builder**
   - Builder pattern for configuration
   - Implement proper builder pattern for configuration
   - Follow best practices for optimal results

54. **RAII**
   - RAII for resource management
   - Implement proper raii for resource management
   - Follow best practices for optimal results

55. **Compile-time**
   - Compile-time guarantees
   - Implement proper compile-time guarantees
   - Follow best practices for optimal results

---

## Summary Checklist

- [ ] Core principles implemented
- [ ] Best practices followed
- [ ] Performance optimized
- [ ] Security measures in place
- [ ] Testing strategy implemented
- [ ] Documentation completed
- [ ] Monitoring configured
- [ ] Production deployment ready

---

Follow these comprehensive guidelines for successful rust systems implementation.
Rust Systems Programming - Cursor IDE AI Rule